#define _CRT_SECURE_NO_WARNINGS 1
#include"commentconvert.h"
void DoNulState(FILE*pfIn, FILE*pfOut, enum STATE* s)
{
int first = 0;
first = fgetc(pfIn);
switch (first)
{
case'/':
{
int second;
second = fgetc(pfIn);
switch (second)
{
case'*':
fputc('/', pfOut);
fputc('/', pfOut);
*s = C_STATE;
break;
case'/':
fputc(first, pfOut);
fputc(second, pfOut);
*s = CPP_STATE;
break;
default:
fputc(first, pfOut);
fputc(second, pfOut);
break;
}
break;
}
case EOF:
*s = END_STATE;
break;
default:
fputc(first, pfOut);
break;
}
}
void DoCState(FILE *pfIn, FILE *pfOut, enum STATE *s)
{
int first = 0;
first = fgetc(pfIn);
switch (first)
{
case'\n':
fputc(first, pfOut);
fputc('/', pfOut);
fputc('/', pfOut);
break;
case'*':
{
int second = fgetc(pfIn);
switch (second)
{
case'/':
{
*s = NUL_STATE;
int third = fgetc(pfIn);
switch (third)
{
case'\n':
fputc(third, pfOut);
break;
case'/':
ungetc(third, pfIn);
fputc('\n', pfOut);
break;
default:
fputc('\n', pfOut);
fputc(third, pfOut);
}
}
break;
case'*':
fputc(second, pfOut);
ungetc(second,pfIn);
break;
default:
fputc(first, pfOut);
fputc(second, pfOut);
break;
}
break;
}
case EOF:
*s = END_STATE;
break;
default:
fputc(first, pfOut);
break;
}
}
void DoCppState(FILE *pfIn, FILE *pfOut, enum STATE *s)
{
int first = 0;
first = fgetc(pfIn);
switch (first)
{
case'\n':
fputc(first, pfOut);
*s = NUL_STATE;
break;
case EOF:
*s = END_STATE;
break;
default:
fputc(first, pfOut);
break;
}
}
void DoComment(FILE*pfIn, FILE*pfOut, enum STATE* s)
{
enum STATE state = NUL_STATE;
while (state != END_STATE)
{
switch (state)
{
case NUL_STATE:
DoNulState(pfIn, pfOut, &state);
break;
case C_STATE:
DoCState(pfIn, pfOut, &state);
break;
case CPP_STATE:
DoCppState(pfIn, pfOut, &state);
break;
default:
break;
}
}
}
妄北y
- 粉丝: 2w+
- 资源: 1万+
最新资源
- 基于java的自习室预订系统设计与实现.docx
- 不平衡电网有源电力滤波器,不平衡电网APF,L型有源电力滤波器,谐波补偿,APF simulink仿真,电力电子仿真 提供参考文献
- 宠物咖啡馆平台的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 宠物领养系统的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 大学生竞赛管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 大型商场应急预案管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 大学城水电管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 热站 SMART程序 西门子PLC一拖二热站自控系统程序,2个循环泵,2个补水泵,循环泵与补水泵采用一用一备,按设置时间自动切,硬件:西门子200smart sr30 PLC+昆仑通泰触摸屏,程序有完
- 大学生入学审核系统的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 大学生就业招聘系统的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 大学生租房平台的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 电影评论网站系统设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 党员教育和管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 房产销售系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 房屋租赁管理系统的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 服装生产管理的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈