其中有一些檔案操作函式,不懂的可以看這篇部落格:
首先,我們要知道乙個檔案中至少有五種狀態,我們用狀態圖表示
解讀:
我們從 不是注釋 的狀態開始,請看下圖
有以下幾種情況需要注意:
/* ~~~ */ 轉變成 //~~~
/* ~~ 轉變成 //~~
~~ //~~
~~ */ ~~~~ //~~
~~~~
判斷是否為換行,如果換行需要輸入//
/*~~~~~~~**/ 轉變成 //~~~~~~~~~*
如果準備出注釋的時候,遇到*先保留看下乙個字元是不是/,如果是/,在判斷下乙個字元是不是換行,不是換行就輸入乙個換行,就到下一行
下面是input.c,是乙個測試檔案。
// 1.一般情況
/* int i = 0; */
// 2.換行問題
/* int i = 0; */
int j = 0;
/* int i = 0; */
int j = 0;
// 3.匹配問題
/*int i = 0;/****xx*/
// 4.多行注釋問題
/*int i=0;
int j = 0;
int k = 0;
*/int k = 0;
// 5.連續注釋問題
/**//**/
// 6.連續的**/問題
/***/
// 7.c++注釋問題
// /**************/
原始檔注釋轉換.c
#define _crt_secure_no_warnings 1
#include
#include
#include
typedef enum state state;
int main()
else
break;
case reday_go:
if (ch == '/')
else
if (ch = '*')
else
break;
case cpp_com:
if (ch == '\n')
else
break;
case c_com:
if (ch == '*')
else
state = c_com;
}break;
case reday_out:
if (ch == '/')
ungetc(nextch, pin);
state = no_zhushi;
}else
if (ch == '*')
else
break;}}
fclose(pout);
fclose(pin);
system("pause");
return
0;}
C語言注釋風格
注釋是原始碼程式中非常重要的一部分,一般情況下,源程式有效注釋量必須在20 以上。注釋的原則是有助於對程式的閱讀理解,所以注釋語言必須準確 易懂 簡潔,注釋不宜太多也不能太少,注釋的內容要清楚 明了 含義準確,防止注釋二義性,該加的地方一定要加,但不必要的地方一定不要加。注釋風格很多,這裡只是對於我...
小專案 簡單注釋轉換(C風格轉到C 風格)
c的注釋是以字元 開始,以字元 結束,注釋被包含的內容。c 的注釋是以字元 開始,碰到換行符 n 時結束,注釋一行。所以,從c注釋轉到c 就是在碰到 時將換成 碰到 時 將其刪除。當然,這裡會有許多種需要細心情況,我們下面再談。完成這個專案,我們需要把 劃分4個狀態,null 無狀態 c狀態,cpp...
將c風格的注釋轉換成cpp風格
首先要將文字分成四個狀態 1.普通狀態 nullstatus 2.c狀態 cstatus 3.cpp狀態 cpstatus 4.eof狀態 eofstatus 四個狀態之間的關係如下 程式 如下 main.c include convert.h int main convert.h ifndef c...