注釋轉換是指將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 注釋問題 ...