c注釋轉換

2021-08-20 15:03:08 字數 2072 閱讀 1861

通過switch語句構造乙個狀態機,通過在不同狀態間的轉換完成注釋的轉化換

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

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

#ifndef __comentconvert_h__

#define __comentconvert_h__

#include

#include

#pragma warning(disable:4996)

enum state ;

void donulcovert(file* input, file* output, enum state *ps);

void doculcovert(file* input, file* output, enum state *ps);

void docppcovert(file* input, file* output, enum state *ps);

#endif

#include "comentcovert.h"

#define _crt_secure_no_warnings 1

void test()

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

if (pfout == null)

comentcovert(pfin, pfout); //注釋轉換函式

fclose(pfin);

pfin = null;

fclose(pfout);

pfout = null;

}int main()

#include "comentcovert.h"

#define _crt_secure_no_warnings 1

void donulcovert(file* input, file* output, enum state *ps) //無狀態轉換函式

break;

case

'*':

break;}}

break;

case

eof :

break;

default:

break;

}}void doccovert(file* input, file* output, enum state *ps) //c狀態轉換函式

break;

case

'*':

break;

default:

break;}}

break;

case

'\n':

break;

default:

break;}}

void docppcovert(file* input, file* output, enum state *ps) //c++狀態轉換函式

break;

default:

break;

}} void comentcovert(file* input, file* output)}}

只有在狀態切換的時候使用了迴圈,其他都是乙個狀態列印一

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

對於注釋轉換首先給出我的測試圖 由圖可以看出將左邊的c語言注釋轉換為右邊c 注釋就是注釋轉換 首先說明一下轉換思想方法 1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為c 的注釋,中間的轉換過程就是 完成,當然檔案名字和作用自...

注釋轉換 c注釋 c 注釋

本專案基於乙個狀態機的思想,每次處理完成之後通過狀態的裝換繼續處理後邊的內容。另外,利用各類的檔案操作函式,實現將將c風格的注釋裝換成c 風格的注釋的乙個簡單功能。大概如下圖 什麼是狀態機?在本專案中,會用到四種狀態,既空狀態 正常 區 c注釋狀態 c風格注釋區 c 注釋狀態 c 風格注釋區 檔案結...

注釋轉換C 注釋》

注意 中所用到的fopen,fwrite,fread等檔案操作函式在通訊錄檔案流部落格中做了介 紹 ungetc 函式是將從檔案中讀取的乙個字元還回到緩衝區,即檔案中去 分析思路圖 分析思路圖 自定義標頭檔案部分 ifndef comment convert h define comment con...