c语言注释转换项目
来源:互联网 发布:数据挖掘就业方向 编辑:程序博客网 时间:2024/06/09 03:02
Annootation conversion.h
#ifndef __ANNONTATION_CONVERSION_H__#define __ANNONTATION_CONVERSION_H__#define INPUTFILE "input.c"#define OUTPUTFILE "output.c" void Annotation_conversion(FILE *ifp, FILE *ofp);enum{ COMMONSTATE, //普通状态 CSTATE, //c风格状态 CPPSTATE, //c++风格状态 EOFSTATE, //文件结束状态};#endif//__ANNONTATION_CONVERSION_H__
Annotation conversion.c
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include"Annotation conversion.h"int state = COMMONSTATE;//普通状态void common_state(FILE *ifp,FILE *ofp) { int ch = fgetc(ifp); switch(ch) { case '/': { int a = fgetc(ifp); switch(a) { case '*': fputc('/',ofp); fputc('/',ofp); state = CSTATE; break; case '/': fputc('/',ofp); fputc('/',ofp); state = CPPSTATE; break; case EOF: fputc(ch,ofp); // state = EOFSTATE; break; default : fputc(ch,ofp); //fputc(a,ofp); // ungetc(a,ifp); // state = COMMONSTATE; break; } } break; case EOF: state = EOFSTATE; break; default: fputc(ch,ofp); state = COMMONSTATE; break; }}//c风格状态void c_state(FILE *ifp,FILE *ofp){ int ch = fgetc(ifp); switch(ch) { case '*': { int a = fgetc(ifp); switch(a) { case '/': // fputc('\n',ofp); state = COMMONSTATE; break; case EOF: fputc(ch,ofp); // state = EOFSTATE; break; default: fputc(ch,ofp); // fputc(a,ofp); // ungetc(a,ifp); // state = CSTATE; break; } } break; case '\n': fputc('\n',ofp); fputc('/',ofp); fputc('/',ofp); state = CSTATE; // break; case EOF: state = EOFSTATE; break; // default: fputc(ch,ofp); state = CSTATE; break; }}//c++风格状态void cpp_state(FILE *ifp,FILE *ofp){ int ch = fgetc(ifp); switch(ch) { case EOF: state = EOFSTATE; break; // case '\n': fputc('\n',ofp); state = COMMONSTATE; break; // default: fputc(ch,ofp); state = CPPSTATE; break; }}int eof_state(FILE *ifp, FILE *ofp){ return 0;}//注释转换void Annotation_conversion(FILE *ifp, FILE *ofp){ while(state != EOFSTATE) { switch(state) { case COMMONSTATE: common_state(ifp,ofp); break; case CSTATE: c_state(ifp,ofp); break; case CPPSTATE: cpp_state(ifp,ofp); break; case EOFSTATE: eof_state(ifp,ofp); break; default: break; } }}
test.c
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include"Annotation conversion.h"int main(){ FILE *ifp = fopen(INPUTFILE,"r"); FILE *ofp = fopen(OUTPUTFILE,"w"); if((ifp == NULL) || (ofp == NULL)) { printf("不能打开文件\n"); return -1; } Annotation_conversion(ifp,ofp); fclose(ifp); fclose(ofp); return 0;}
input.c
int main(){ int c = 20; /* 创建c变量*/ char ch = 'a'; //创建ch return 0;}//1.一般情况 int num = 0;/* int i = 0;*///2.换行问题/* int i = 0;*/ int j = 0;/*int i = 0;*/int z = 0;//3.匹配问题/*int i = 0;/*hehehehehehe*///4.多行注释问题/*int i = 0;int j = 0;int k = 0;*/int v = 0;//5.连续注释问题/*int a = 0;*//*int b = 0;*///6.连续的***/问题/****///7.c++注释问题// /*哈哈哈哈*/
阅读全文
0 0
- c语言项目-注释转换
- 【C语言项目】注释转换
- c语言注释转换项目
- C语言小项目—注释转换
- c语言小项目----注释转换
- 注释转换——C语言项目
- C语言小项目---注释转换
- 【C语言】注释转换项目实现
- C语言小项目-注释转换
- c语言小项目---注释转换
- C语言小项目--注释转换
- C语言:C语言注释转换C++,注释转化项目C-->C++注释
- C语言小项目—注释转换( C注释转换为C++注释 )
- C语言项目:注释转换(C风格注释转换成C++风格注释)
- 【C语言】注释转换
- C语言 注释转换
- 【C语言】注释转换
- [项目]注释转换 ——C++注释转换为标准C语言注释
- Angular过滤敏感词
- 894E
- oracle下lag和lead分析函数
- ajax,jquery,json
- 有理有据的揭露百度点击算法
- c语言注释转换项目
- [框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet(转自知乎) 附带装mxnet0.9.5版本
- 使用jqueryui的日期控件
- Android Studio ToggleButton 使用
- 原装js模仿的淘宝首页无缝轮播图
- 霍尔电流传感器
- Line:一种适应于大型网络的network Embedding策略
- Python开发环境搭建
- 超全!基于Java的机器学习项目、环境、库...