SourceFormatX

軟體簡介

主要功能

為什麼要使用

源碼美化演示

整合和插件

界面預覽

常見問題

升級歷史

所獲獎項

用戶評價

許可協議

CodeToHtml

C++程式碼美化效果演示

現在購買
下載試用

程式碼美化工具功能

SourceFormatX 使用強大的C/C++詞法解析引擎全面地分析您的程式碼並根據用戶自定義的C++程式碼風格重構和美化C++程式碼檔案,因此它能精細地根據不同的程式碼風格美化多種程式碼,甚至是下面這些極度混亂的程式碼:

C/C++ Java C# Delphi (Pascal)
PHP JSP ASP JavaScript
Visual Basic VB.NET VBScript HTML Components
80x86 ASM 8051 ASM CORBA IDL


  C/C++程式碼美化範例:     範例1   |   範例2   |   範例3   |   範例4   |   範例5

這段C++語言程式碼也來自于 IOCCC,程式碼被排列成 《星際迷航: 下一代》(Star Trek: The Next Generation) 電影中的符號標記。這份混亂到無法閱讀的C++程式碼檔案在1秒種內即被 SourceFormatX C++ 美化工具 美化和縮排成整潔且可讀性強的程式碼樣式。

   /* 程式碼美化之前的C++程式碼 */

   #include<stdio.h>
   #include<string.h>
   #include<stdlib.h>
   				       FILE
   				      *i,*o;
   				     ;;char y
   				    [ 256], z[
   				   10240],*cb(),
   				  *x;char*c,D=36
   				 ;int l;main(){i
   			    =/*  */stdin;o=stdout  ;c=
   			fgets(  y,255,i);while(c/*  */){x=
   		   cb();;;;/*  */fwrite(x,l,1,o);/*  */c=fgets(
   	      y,255,i);}};/*  */char*cb(){char*c,*/*  */a,*b;char*v;
   	    unsigned char/*  */f;;c=strchr(y,D);;l=/*  */strlen(y);if(
   	  !c){return(y);/*  */}a=y;b=z;while(*a){if(/*  */*a!=D) *b++=*a
   	 ++;else{a++;c=/*  */strchr(a,D);if(c){*c=0;;/*  */if(strchr(a,32
   	)){*c=D;*b++=D/*  */;}else{;v=getenv(a);if(v){/*  */while(*v){if(*
   	v!=92)*b++=*v/*  */++;else{f=0/*  **  */;v++;if/*  */(*v<48||*v>57
   	)*b++=92;/*p%*  */else{f=(*v/*  */++/*  */)-48;;/*  */if(*v<48||*v
   	>57)*b++=f;/*  */else{f=(/*  */f<<3)+(/*  */*v++)/*  */-48;;*b++=(
   	 (*v<48||*/*  */v>57)?f/*  */:((f<<3)+(*/*  */v++)/*  */-48));}}}
   	  ;}a=c+1/*  */;}else/*  */{*c=D;*b++=D;;;;/*  */while (*a != D)
   	    *b++/*  */=*a++/*  */;a++;*b++=D;}}}else{/*  */*b/* */++=D;
   	      }/*  */}}l=/*  */b-z;return(z);}int*tng()/*  *//*  *)'
   		  */{if/*  */(x==c||c!=x){x=cb();l<<=l>>1/*  *(*
   		 */;/*     */;strcpy(&D,"(C)1995");l=l/*       */
   		*l;/*         */}/*G.Glendown%^x*//*            ;
   	       */
   	      }

   /* 程式碼美化之後的C++程式碼 */

   #include <stdio.h>
   #include <string.h>
   #include <stdlib.h>
   FILE *i, *o;
   ;
   ;
   char y[256], z[10240], *cb(), *x;
   char *c, D = 36;
   int l;
   main()
   {
     i =  /*  */stdin;
     o = stdout;
     c = fgets(y, 255, i);
     while (c /*  */)
     {
       x = cb();
       ;
       ;
       ; /*  */
       fwrite(x, l, 1, o); /*  */
       c = fgets(y, 255, i);
     }
   }; /*  */

   char *cb()
   {
     char *c,  */*  */a,  *b;
     char *v;
     unsigned char /*  */f;
     ;
     c = strchr(y, D);
     ;
     l =  /*  */strlen(y);
     if (!c)
     {
       return (y); /*  */
     }
     a = y;
     b = z;
     while (*a)
     {
       if ( /*  */ *a != D)
         *b++ =  *a++;
       else
       {
         a++;
         c = /*  */strchr(a, D);
         if (c)
         {
           *c = 0;
           ; /*  */
           if (strchr(a, 32))
           {
             *c = D;
             *b++ = D /*  */;
           }
           else
           {
             ;
             v = getenv(a);
             if (v)
             {
               /*  */
               while (*v)
               {
                 if (*v != 92)
                   *b++ =  *v/*  */++;
                 else
                 {
                   f = 0 /*  **  */;
                   v++;
                   if /*  */(*v < 48 ||  *v > 57)
                     *b++ = 92;
                     /*p%*  */
                   else
                   {
                     f = (*v /*  */++ /*  */) - 48;
                     ; /*  */
                     if (*v < 48 ||  *v > 57)
                       *b++ = f;
                       /*  */
                     else
                     {
                       f = (/*  */f << 3) + ( /*  */ *v++) /*  */ - 48;
                       ;
                       *b++ = ((*v < 48 ||  * /*  */v > 57) ? f /*  */: ((f << 3)
                          + (*/*  */v++) /*  */ - 48));
                     }
                   }
                 }
                 ;
               }
               a = c + 1 /*  */;
             }
             else
             /*  */
             {
               *c = D;
               *b++ = D;
               ;
               ;
               ; /*  */
               while (*a != D)
                 *b++ /*  */ =  *a++ /*  */;
               a++;
               *b++ = D;
             }
           }
         }
         else
         {
           /*  */ *b/* */++ = D;
         } /*  */
       }
     }
     l = /*  */b - z;
     return (z);
   }

   int *tng() /*  */ /*  *)' */
   {
     if /*  */(x == c || c != x)
     {
       x = cb();
       l <<= l >> 1 /*  *(* */
       ; /*     */
       ;
       strcpy(&D, "(C)1995");
       l = l /*       */ *l; /*         */
     } /*G.Glendown%^x*/ /*            ;
      */}

範例1   |   範例2   |   範例3   |   範例4   |   範例5