凝視轉換(c轉換為c )

2021-09-09 04:31:03 字數 1826 閱讀 8773

在轉換凝視前我們先了解乙個概念:什麼是有限狀態機?

有限狀態機fsm是軟體上經常使用的一種處理方法,它把複雜的控制邏輯分解成有限個穩定狀態。在每乙個狀態上進行處理。

有限狀態機是閉環系統。能夠用有限的狀態,處理無窮的事務。

// 通常我們使用多路分之語句來處理狀態機。即switch()、case語句

中要處理的情況例如以下

input.c:

//1.普通情況

/*int i = 0;*/

//2.換行問題

/*int y = 0;*/int j = 0;

//3.匹配問題

/*int x = 0;/*12345678*/

//4.多行凝視問題

/*int h = 0;

int g = 0;

int j = 0;

*/int q = 0;

//5.連續凝視問題

/**//**/

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

/* ****** */

凝視問題

// /*1234567890*/

凝視本身不匹配問題

/*int i = 0;

原始檔annotationconvert.c

#include#include#include#pragma warning(disable:4996)

typedef enum state

sta;

typedef enum tag

tag;

sta annotationconvert(file* infile, file* outfile)

else if (secondch == '/')

a = tag_end;

}else

break;

case'*':

secondch = fgetc(infile);

if (secondch == '/')

else if (secondch == '*')

else

break;

case'\n':

if (a == tag_begin)

else

break;

default:

fputc(firstch, outfile);

break;

} } while (firstch != eof);

if (a == tag_end)

else

return 0;

}sta startconvert()

if (outfile == null)

s = annotationconvert(infile, outfile);

fclose(infile);

fclose(outfile);

return s;

}int main()

else if (ret == file_success)

else if (other_error)

else

return 0;

}

output.c中結果應例如以下:

//int i = 0;

//int y = 0;

int j = 0;

//int x = 0;/*12345678

////int h = 0;

//int g = 0;

//int j = 0;

//int q = 0;

////

// ****** 

// /*1234567890*/

不匹配

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

對於注釋轉換首先給出我的測試圖 由圖可以看出將左邊的c語言注釋轉換為右邊c 注釋就是注釋轉換 首先說明一下轉換思想方法 1.建立兩個檔案input.c和output.c,input.c裡面用來讀取c語言的注釋,output.c裡面儲存轉換成為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.匹配問題...

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

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