四種狀態:
測試**:
// 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 的注釋,中間的轉換過程就是 完成,當然檔案名字和作用自...