C語言實現注釋轉換

2021-07-27 23:17:19 字數 2348 閱讀 7308

注釋轉換是指將input.c程式中c語言注釋全部轉化為c++注釋,並在output.c中展現出來

可能出現的情況如下圖所示

**實現如下:

test,c

#include "comment covert.h"

#includeint main()

pfwrite = fopen("output.c", "w");

if (null == pfwrite)

doconvertwork(pfread, pfwrite);

fclose(pfread);

fclose(pfwrite);

system("pause\n");

return 0;

}

commet covert.h中

#define _crt_secure_no_warnings 1

#ifndef __commnt_h__

#define __commnt_h__

#includeenum state

;void docstate(file *pfin, file *pfout);

void docppstate(file *pfin, file *pfout);

void donulstate(file *pfin, file *pfout);

void doconvertwork(file *pfin, file *pfout);

#endif // __commnt_h__

comment convert.c中

#include"comment covert.h"

static enum state state = nul_state;

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

void donulstate(file *pfin, file *pfout)

break;

} case eof:

state = end_state;

break;

default:

fputc(first, pfout); }}

void docstate(file *pfin, file *pfout)//c轉換為cpp;

if (third == '\n')

}else

break;

case '\n'://如果是換行,那就是連續注釋,就將下一行開頭加入cpp注釋;

fputc(first, pfout);

fputc('/', pfout);

fputc('/',pfout );

break;

case eof:

fputc(first, pfout);

state = end_state;

break;

default:

fputc(first, pfout);

break; }}

void docppstate(file *pfin, file *pfout)

}

input.c

// 1.一般情況

int num = 0;

/* int i = 0; */

// 2.換行問題

/* int i = 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.連續注釋問題

/*a*//*b*/

// 6.連續的**/問題

/***/

// 7.c++注釋問題

/**************/

輸出結果對比如下

C語言實現簡單注釋轉換

我們常見的注釋轉換有兩種風格 c語言注釋風格和c 注釋風格。c語言注釋 注釋內容 特點 允許多行注釋,但不允許巢狀注釋 c 注釋 注釋內容 特點 允許巢狀注釋,但不允許多行注釋 這個程式的目的就是為了將c語言的注釋轉換成c 的注釋。我們給定乙個 input.c 程式執行後產生乙個對應的 output...

實現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 注釋)

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 注釋問題 ...