C語言 注釋轉換

2021-08-20 19:47:31 字數 3103 閱讀 8558

**如下:

標頭檔案** commentconvert.h

#ifndef __comment_convert_h__

#define __comment_convert_h__

#define _crt_secure_no_warnings 1

#define file_name 0

#include #include #include #include enum state

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

void donulstate (file *pfin, file *pfout, enum state *p);

void docstate (file *pfin, file *pfout, enum state *p);

void docppstate (file *pfin, file *pfout, enum state *p);

#endif//__comment_convert_h__

主要函式函式** main.c
#include "commentconvert.h"

void docppstate (file *pfin, file *pfout, enum state *p) //

}void docstate (file *pfin, file *pfout, enum state *p)

break;

}default ://注釋結束之後又遇到正常**

fputc('\n', pfout);//由於之前這一行列印了//所以遇到**要先換行, 在列印正常**

fputc(third, pfout);

*p = nul_state;

break;}}

break;

case '*':

ungetc (second, pfin);

fputc ('*', pfout);// 遇到類似/******/情況時,讀到第三個*開始,後面讀到的*都要還回去, 否則可能會錯過"*/「的注釋結束

*p = c_state;

break;

default :

fputc (first, pfout);

fputc (second, pfout);

break;

}} break;

case '\n'://c語言注釋/*…*/內部有換行時

}break;

default :// 換行之後注釋沒有結束, 遇到的還是注釋內容,在內容前加上//,在直接列印內容

fputc ('\n', pfout);

fputc ('/', pfout);

fputc ('/', pfout);

fputc (second, pfout);

*p = c_state;

break;

}} break;

default:

fputc (first, pfout);

*p = c_state;

break; }}

void donulstate (file *pfin, file *pfout, enum state *p)

} break;

case eof:

*p = end_state;

break;

default:

fputc(first, pfout);

*p = nul_state;

break; }}

void docommentconvert (file *pfin, file *pfout)

} printf ("轉換成功!!!\n");

}

測試**:test.c
#include"commentconvert.h"

#if 0 //這個函式的功能只能對單個檔案進行操作(只能轉換input.c檔案裡邊的注釋寫入output.c檔案)

void test ()

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

if (pfout == null)

docommentconvert (pfin, pfout);

fclose(pfin);

pfin = null;

fclose(pfout);

pfout = null;

}#endif

void test1 ()//可以對乙個資料夾下是所有 .c 檔案進行注釋轉換,然後將多個.c 檔案再寫入另乙個資料夾下去

do

fpout = fopen (path_out, "w");//開啟fpout 檔案

if (fpout == null)

docommentconvert (fpin, fpout);

printf ("轉換之後的路徑為:%s\n\n", path_out);

fclose (fpout);

fclose (fpin);

} }while(_findnext(a,&cfile) == 0); /* 成功找到時返回0*/

printf("\n");

_findclose(a);

}int main()

執行截圖:

注釋轉換 (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 中 編譯器預設的注釋風格是 注釋一行。這兩種注釋風格是可以互相轉換的。下面給上轉換後的結果 對該過程進行分析 程式 如下 commentconvert.h ifndef commeent convert h define commeent...

c語言 注釋轉換

注釋轉換。對於乙個專案有多個人來寫 如果每個人的 注釋風格不一樣,有的人要用c注釋風格,有的人用c 注釋風格這就導致了,對於閱讀源 的人的不方便的問題。因此才會出現注釋轉換的這個東西。本注釋轉換將所有程式的注釋全部轉換成c 的注釋風格。首先列出所有可能出現的情況 1.一般情況 int num 0 i...