注释转换(c语言->c++)
来源:互联网 发布:离家出走知乎 编辑:程序博客网 时间:2024/05/22 10:37
convert.h 文件
#ifndef CONVERT_H#define CONVERT_H#define INPUTFILE "inputfile.c"#define OUTPUTFILE "outfile.c"enum { null_status,c_status,cpp_status,eof_status,}status;void convert();#endif // !CONVERT_H
convert.c文件
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include"convert.h"void do_null_status(FILE *ifp, FILE *ofp) //进行状况监测 (1) /* (2) // (3) eof{ int c = fgetc(ifp); switch (c) { case '/': { int s = fgetc(ifp); switch (s) { case '*': fputc('/', ofp); fputc('/', ofp); status = c_status; break; case '/': fputc('/', ofp); fputc('/', ofp); status = cpp_status; break; case EOF: fputc('/', ofp); status = eof_status; break; default: fputc(c, ofp); ungetc(s, ifp); break; } break; case EOF: status = eof_status; break; default: fputc(c, ofp); status = null_status; break; } }}void do_c_status(FILE *ifp, FILE *ofp) // 处理三种情况 (1) /* ----- */ // (2) /* ----{ // ---- */ int c = fgetc(ifp); // (3) /* ---- // ----- switch (c) { case '*': { int s = fgetc(ifp); switch (s) { case '/': status = null_status; break; case '\n': fputc('\n', ofp); fputc('/', ofp); fputc('/', ofp); break; case EOF: status = eof_status; break; default: fputc(c, ofp); fputc(s, ofp); break; } break; } case '\n': fputc('\n', ofp); fputc('/', ofp); fputc('/', ofp); break; case EOF: status = eof_status; break; default: fputc(c, ofp); status = c_status; break; }}void do_cpp_status(FILE *ifp, FILE *ofp) // 处理一种情况 :(1) // ------{ int c = fgetc(ifp); switch (c) { case '\n': fputc(c, ofp); status = null_status; break; default: fputc(c, ofp); break; }}void convert(){ FILE *ifp = fopen(INPUTFILE, "r"); if (NULL == ifp) { perror("open file error"); fclose(ifp); } FILE *ofp = fopen(OUTPUTFILE, "w"); while (!feof(ifp)) { switch (status) //status未初始化,默认值为0 { case null_status: do_null_status(ifp, ofp); break; case c_status: do_c_status(ifp, ofp); break; case cpp_status : do_cpp_status(ifp, ofp); break; case eof_status: break; default : break; } } fclose(ifp); fclose(ofp);}
main.c文件
#include<stdio.h>#include"convert.h"int main(){ convert(); return 0;}
阅读全文
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语言注释行转换
- C语言_注释转换
- c语言注释转换项目
- C语言小项目—注释转换( C注释转换为C++注释 )
- leetCode07:整数逆序输出
- uml 关系
- 1284 2 3 5 7的倍数(容斥原理)
- (干货)ICLR论文自评分——论文名和翻译
- coursera Machine Learning 第五周 测验quiz答案解析 Neural Networks: Learning
- 注释转换(c语言->c++)
- 浅谈计算机网络
- 关于权限的理解
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read
- 关于普通的jsp页面连接不上数据库问题
- JavaScript中的数据类型及运算符
- MyEclipse SVN插件的两种安装方法
- 4412开发板扩充root目录的大小
- solr