c語言簡單實現:將c注釋轉化為c++注釋
我們首先考慮一下都會出現什麼情況:
總結下來就是如下圖:
因此我們需要封裝三個函式。
測試部分(test.c)如下:
#include"commentconvert.h"
void test()
file *pfout;
pfout = fopen("output.c", "w");
if (pfout == null)
while (state != end_state) }
fclose(pfin);
fclose(pfout);
}int main()
commentconvert.h如下:
#ifndef __comment_convert_h__
#define __comment_convert_h__
#define _crt_secure_no_warnings 1
#include #include enum state
;void donulstate(file*pfin, file*pfout, enum state* s);
void docstate(file*pfin, file*pfout, enum state* s);
void docppstate(file*pfin, file*pfout, enum state* s);
#endif //__comment_convert_h__
commentconvert.c如下:
#include"commentconvert.h"
void donulstate(file*pfin, file*pfout, enum state* s)
break;
} case eof: //文件結束
*s = end_state;
break;
default: //文字內容
fputc(first, pfout);
break; }}
void docstate(file *pfin, file *pfout, enum state* s) //c狀態的處理
else
}else if (second == '*') //處理連續的**/問題
else
}else //處理*後是文字的情況
break;
}//如果'/*'後換行,轉成c++必須換行後每行都加上注釋
case '\n':
fputc(first, pfout);
fputc('/',pfout);
fputc('/', pfout);
break;
case eof:
*s = end_state;
break;
default:
fputc(first, pfout);
break; }}
void docppstate(file*pfin, file*pfout, enum state* s) //c++狀態處理
}
注釋轉化(C注釋轉為C 注釋)
假如現在有乙個.c的檔案,它裡面有c語言的注釋 c 的注釋 當然也有正常的 了,現在我們想要把裡面的注釋統一一下,將c語言注釋全部轉換為c 的注釋,該怎麼做呢?思路 我們可以這麼想,它裡面無非有四種型別 1.正常 2.c注釋 3.c 注釋 4.檔案結束標誌eof 我們要向把c注釋全部轉化成c 注釋,...
實現c語言注釋轉換為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 xx 4.多行注釋問題 int i 0 int j 0 int k 0 int ...
C語言實現簡單注釋轉換
我們常見的注釋轉換有兩種風格 c語言注釋風格和c 注釋風格。c語言注釋 注釋內容 特點 允許多行注釋,但不允許巢狀注釋 c 注釋 注釋內容 特點 允許巢狀注釋,但不允許多行注釋 這個程式的目的就是為了將c語言的注釋轉換成c 的注釋。我們給定乙個 input.c 程式執行後產生乙個對應的 output...