commentconvert.h內容
#ifndef __comment_convert_h__
#define __comment_convert_h__
#include
#include
enum state//列舉操作選項
; void commentconvert();
void doconvertwork(file *pfin,file *pfout,enum state *psta);//注釋轉換操作
void docstate(file *pfin,file *pfout,enum state *psta);//c 模式轉換為 cpp模式
void donullstate(file *pfin,file *pfout,enum state *psta);//普通語句轉換模式
void docppstate(file *pfin,file *pfout,enum state *psta);//cpp 模式轉換 c 模式
#endif //__comment_convert_h__
commentconvert.c內容
#define _crt_secure_no_warnings 1
#include"commentconvert.h"
void donullstate(file *pfin,file *pfout,enum state *psta)
else if(second == '/')
else //普通語句就直接寫入;
break;
case eof:
fputc(first,pfout);
*psta = end_state ;
break;
default://普通內容,直接寫入
fputc(first,pfout);
break;
} }
void docstate(file *pfin,file *pfout,enum state *psta)//c模式轉換為cpp模式
if(third == '\n')
} else
break;
case '\n'://如果是換行,那就是連續注釋,就將下一行開頭加入cpp注釋(//)
fputc(first,pfout);
fputc('/',pfout);
fputc('/',pfout);
break;
case eof:
fputc(first,pfout);
*psta = end_state ;
break;
default:
fputc(first,pfout);
break;
} }
void docppstatete(file *pfin,file *pfout,enum state *psta)//cpp模式轉換為c模式
} void doconvertwork(file *pfin,file *pfout)//函式操作選項
} }
void commentconvert()//讀寫檔案函式;
pfout= fopen("output.c", "w"); //寫入新建立的"output.c"檔案;
if(pfout== null)
doconvertwork(pfin,pfout);
fclose(pfin ); //關閉已經開啟的檔案;
fclose (pfout);
} test.c內容
#include"commentconvert.h"
int main()
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++注釋問題
// /**************/
output.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注釋 c 注釋
本專案基於乙個狀態機的思想,每次處理完成之後通過狀態的裝換繼續處理後邊的內容。另外,利用各類的檔案操作函式,實現將將c風格的注釋裝換成c 風格的注釋的乙個簡單功能。大概如下圖 什麼是狀態機?在本專案中,會用到四種狀態,既空狀態 正常 區 c注釋狀態 c風格注釋區 c 注釋狀態 c 風格注釋區 檔案結...
注釋轉換(C注釋轉換為c 注釋)
對於注釋轉換首先給出我的測試圖 由圖可以看出將左邊的c語言注釋轉換為右邊c 注釋就是注釋轉換 首先說明一下轉換思想方法 1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為c 的注釋,中間的轉換過程就是 完成,當然檔案名字和作用自...
注釋轉換 C注釋轉換為標準C 注釋
注釋轉換 c 注釋轉換為標準c語言注釋 直接上 include include include typedef enum state state typedef enum tag tag pragma warning disable 4996 state annotationconvert file...