.h檔案
#ifndef
__comment_convert_h__
#define
__comment_convret_h__
#include
#include
#define
inputfilename
"input.c"
#define
outputfilename
"output.c"
typedef
enum
convert_state
statetype
;void
commentconvert();
void
convertwork(
file
*read,
file
*write);
void
donullstate(
file
*read,
file
*write);
void
docstate(
file
*read,
file
*write);
void
docppstate(
file
*read,
file
*write);
#endif
.c檔案
#define
_crt_secure_no_warnings 1
#include
"commentconvert.h"
statetype
state;
void
docppstate(
file *
read ,
file *
write )}
void
docstate(
file *
read ,
file *
write
)state = null_state;}
else
if(second ==
'*' )
else
break ;
case
'\n' :
fputc(first,
write
);fputc(
'/' ,
write
);fputc(
'/' ,
write
);break ;
case
eof :
//fputc(first, write);
state = end_state;
break ;
default
:fputc(first,
write
); break ;}
}void
donullstate(
file *
read ,
file *
write )
else
if(second ==
'*' )
else
break ;
case
eof :
fputc(first,
write
);state = end_state;
break ;
default
:fputc(first,
write
); break ;}
}void
convertwork(
file *
read ,
file *
write )}
}void
commentconvert()
pwrite = fopen(
outputfilename ,
"w");
if(pwrite ==
null )
convertwork(pread, pwrite);
fclose(pread);
fclose(pwrite);
}測試部分
利用狀態機把此問題中涉及的分為3個狀態,即c狀態,c++狀態,null狀態,當遍歷到某乙個\n,/*,//時,要分情況這三個狀態之間轉換
注釋轉換小專案(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...
注釋轉換 c注釋 c 注釋
本專案基於乙個狀態機的思想,每次處理完成之後通過狀態的裝換繼續處理後邊的內容。另外,利用各類的檔案操作函式,實現將將c風格的注釋裝換成c 風格的注釋的乙個簡單功能。大概如下圖 什麼是狀態機?在本專案中,會用到四種狀態,既空狀態 正常 區 c注釋狀態 c風格注釋區 c 注釋狀態 c 風格注釋區 檔案結...
注釋轉換(C注釋轉換為c 注釋)
對於注釋轉換首先給出我的測試圖 由圖可以看出將左邊的c語言注釋轉換為右邊c 注釋就是注釋轉換 首先說明一下轉換思想方法 1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為c 的注釋,中間的轉換過程就是 完成,當然檔案名字和作用自...