注釋轉換(C C )

2021-07-12 01:32:56 字數 2941 閱讀 4643

四種狀態:

測試**:

// 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++注釋問題

// /**************/

commentmentconvert.h

#define _crt_secure_no_warnings 1

#ifndef __commentconvert_h__

#define __commentconvert_h__

#include#include#define inputfilename "input.c"

#define outputfilename "output.c"

enum state

;void commentmentconvert(file *pfread,file *pfwrite);

void do_nul_state(file *pfread,file *pfwrite);

void do_c_state(file *pfread,file *pfwrite);

void do_cpp_state(file *pfread,file *pfwrite);

#endif //__commentconvert_h__

test.c

#define _crt_secure_no_warnings 1

#include "commentconvert.h"

int main()

pfwrite=fopen(outputfilename,"w");

if(null==pfwrite)

commentmentconvert(pfread,pfwrite);

fclose(pfread);

fclose(pfwrite);

printf("轉換結束!\n");

system("pause");

return 0;

}

commentmentconvert.c

#define _crt_secure_no_warnings 1

#include "commentconvert.h"

enum state state=nul_state;

int first=0;

int second=0;

int third=0;

void do_nul_state(file *pfread,file *pfwrite)

else if(second=='/')

else

break;

case '\n': //c注釋中的多行注釋

fputc('\n',pfwrite);

break;

case eof: //檔案結束標誌

state=end_state;

break;

default: //不是注釋的字元

fputc(first,pfwrite);

break;

}}void do_c_state(file *pfread,file *pfwrite)

state=nul_state;

if(third != '\n')

fputc(third,pfwrite);

break;

case '*': // 連續的**/問題

third=fgetc(pfread);

fputc(first,pfwrite);

if(third == '/')

state=nul_state;

break;

default: //不是注釋的字元

fputc(first,pfwrite);

fputc(second,pfwrite);

break;

} break;

case '\n': //c注釋中的多行注釋

fputc('\n',pfwrite);

fputc('/',pfwrite);

fputc('/',pfwrite);

break;

case eof: //檔案結束標誌

state=end_state;

break;

default: //不是注釋的字元

fputc(first,pfwrite);

break; }}

void do_cpp_state(file *pfread,file *pfwrite)

}void commentmentconvert(file *pfread,file *pfwrite)

}}

執行結果比對:

寫的有點倉促,如果那裡看不懂或者有什麼問題,請多多指出!

c c 注釋風格轉換

c注釋風格 hhhfjjjsjd c 注釋風格 huajaijdh hushushdxkk 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...

注釋轉換(c c )小專案

程式新思路 注釋轉換一開始去想的時候,會覺得很複雜。因為在乙個原始檔裡出現注釋的情況雖然不會太多,但是可能會出現各種各樣,形形色色的注釋,在轉換程度上去想的時候會覺得很複雜,不同的問題都要有不同的解決方法的。在這裡簡單的羅列注釋轉換可能出現的幾種情況 1.一般情況 int num 0 int i 0...

注釋轉換(C注釋轉換為c 注釋)

對於注釋轉換首先給出我的測試圖 由圖可以看出將左邊的c語言注釋轉換為右邊c 注釋就是注釋轉換 首先說明一下轉換思想方法 1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為c 的注釋,中間的轉換過程就是 完成,當然檔案名字和作用自...