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

2021-08-04 14:53:33 字數 2659 閱讀 8203

對於注釋轉換首先給出我的測試圖:

由圖可以看出將左邊的c語言注釋轉換為右邊c++注釋就是注釋轉換

首先說明一下轉換思想方法:

1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為c++的注釋,中間的轉換過程就是**完成,當然檔案名字和作用自己規定

2.轉換的實際過程就是從存放c語言注釋的檔案中讀取資料這裡是乙個字元乙個字元讀取,然後通過相關的函式將其轉換為c++注釋後的**再寫入儲存c++注釋的檔案中

當然這裡會用fgetc和fputc函式,其實這個專案就是練習檔案的讀寫能力

在這裡封裝了三個函式:

1.void donulstate(file *pfin, file *pfout, enum state *s);//非c++,c狀態的函式宣告
這個是不存在注釋的**語句處理函式,即剛開始進入檔案讀寫的函式

2.void docstate(file *pfin, file *pfout, enum state *s);//c狀態進行操作
這個是發現是c語言注釋的語句,則用這個函式將其改造為c++注釋

3.void docppstate(file *pfin, file *pfout, enum state *s);//c++狀態進行操作
這個是發現是c語言注釋的語句,則用這個函式將其改造讀寫到儲存c++注釋額檔案中

其核心的思想部分是這個樣子,我用圖來解釋:

接下來給出具體的**

首先給出commentconver.h標頭檔案

#define _crt_secure_no_warnings 1

#ifndef __comment_conver_h__

#define __comment_conver_h__

#include#includeenum state

;void donulstate(file *pfin, file *pfout, enum state *s);//非c++,c,結束狀態的函式宣告

void docstate(file *pfin, file *pfout, enum state *s);//c狀態進行操作

void docppstate(file *pfin, file *pfout, enum state *s);//c++狀態進行操作

#endif

接下來給出commentconver.c具體狀態函式的實現**

#define _crt_secure_no_warnings 1

#include"commentconver.h"

void donulstate(file *pfin, file *pfout, enum state *s)//開始無狀態

break;

case '*'://第二個讀取到*為c的注釋

break;

default:// 其他非注釋情況直接讀取

break;

}} break;

case eof://直接檔案讀取結束

break;

default://剛開始未發現注釋相關符號

break; }}

void docstate(file *pfin, file *pfout, enum state *s)//c注釋狀態

break;

case '*'://連續注釋問題如:/***/

break;

default://其它非注釋情況}}

break;

case '\n'://多行注釋問題

break;

default://結尾直接是其他非注釋情況

break; }}

void docppstate(file *pfin, file *pfout, enum state *s)//c++注釋狀態

break;

case eof://檔案讀取結束

break;

default://其他非注釋情況

fputc(first, pfout);

break;

}}

最後給出test.c

#define _crt_secure_no_warnings 1

#include"commentconver.h"

void commentconver(file *pfin, file *pfout) }}

void test()

file *pfout = fopen("output.c", "w");//往檔案裡面寫東西

if (pfout == null)

//commentconver(pfin, pfout);//呼叫轉換函式

fclose(pfin);

fclose(pfout);

}int main()

由於開頭給出的就是我的測試結果所以這裡就不放測試結果了

注釋轉換 C注釋轉換為標準C 注釋

注釋轉換 c 注釋轉換為標準c語言注釋 直接上 include include include typedef enum state state typedef enum tag tag pragma warning disable 4996 state annotationconvert file...

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

1.一般情況 int num 0 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注釋內容存於input.c檔案中,轉換後的內容存於output.c檔案中。input.c檔案 1.一般情況 int num 0 int i 0 2.換行問題 int i 0 int j 0 int i 0 int j 0 3.匹配問題...