這裡所說的注釋轉換是指將c風格的注釋轉換成c++風格的注釋。那麼我們如何來實現這個目的呢?
首先我們得有乙個名為 input.c 的檔案 ,裡面寫著一段c風格的注釋和一些**。而我們轉換後的注釋及**應該儲存在乙個名為 output.c 的檔案裡。要將 input.c中的內容轉換,我們就得將該檔案中的內容乙個乙個取出,一邊取一邊轉換,這裡我們需要用到 fgetc()和fputc()這兩個庫函式。那麼我們該如何轉換呢,我們就得畫出轉換圖:
畫出狀態轉換圖後,我們就可以開始進行**的編寫了。
首先建立乙個main.c 檔案
**如下:
#include
#include"comment.h"
int main()
接下來建立乙個名為comment.h的標頭檔案
#ifndef __comment_h__
#define __comment_h__
#define inputfile "input.c"//輸入檔案
#define outputfile "output.c"//轉換後的輸出檔案
enum
;void convert_main();
#endif
最後再建立乙個convert.c 檔案,主要實現convert_main()函式
#include
#include
#include"comment.h"
//初始狀態為普通模式
int status = nullstatus;
//在普通模式下
void do_null_status(file * ifp, file* ofp)
}break;
case eof:
status = eofstaus;
break;
default:
fputc(c, ofp);
status = nullstatus;
break;
}}//在c注釋模式下
void do_c_status(file *ifp,file *ofp)
}break;
case
'\n':
fputc(c, ofp);
fputc('/', ofp);
fputc('/', ofp);
status = cstatus;
break;
case eof:
status = nullstatus;
break;
default:
fputc(c, ofp);
break;
}}//在c++注釋下
void do_cpp_status(file *ifp,file *ofp)
}static
void convert_work(file *ifp,file * ofp)
}}void convert_main()
convert_work(ifp, ofp);
fclose(ifp);
fclose(ofp);
}
最後執行結果:
c語言小專案 注釋轉換
這篇部落格,我將整理關於注釋轉換的知識,首先,得知道,注釋轉換包括,c語言注釋轉 換成c 注釋,和c 注釋轉換成c語言注釋。c語言注釋的風格 這是c語言注釋 c 語言注釋風格 這是c 注釋風格 下面,我主要分析將所有的注釋轉換成c 注釋,即就是 c語言注釋轉 換成c 注釋。這樣的轉換會存在以下多種情...
小專案 注釋轉換
功能 將c注釋轉換為c 注釋 有普通 c cpp 結束四種狀態,各狀態轉換條件如下 status 定義列舉型別,表示四種狀態 include include convert.h enum sta status nulstat 將 狀態預製為普通狀態 void test nulstat file ip...
注釋轉換小專案(c注釋 到c 注釋)
首先歡迎閱讀本文,注釋轉換小專案涉及到c語言對檔案的操作,另外這個小專案還應該對各種情況都考慮到。將c語言注釋轉換為c 注釋 1.一般情況 int i 0 2.換行問題 int i 0 int j 0 int i 0 int j 0 3.匹配問題 int i 0 x 4.多行注釋 int i 0 i...