编译原理——删除注释
来源:互联网 发布:北京二手淘宝市场 编辑:程序博客网 时间:2024/05/02 01:06
在学 编译原理,写了个删除注释的小程序
#include "stdio.h"
#include "string.h"
void main()
...{
FILE *fIn,*fTemp,*fOut;
char ch1,ch2,buffer[100];
int i,len;
printf("___________________________________________________ ");
printf("*************************************************** ");
printf(" 这是一个用于删除C语言源程序中注释的小程序! ");
printf(" Made by zs,on Mar 27th,2008. ");
printf("*************************************************** ");
printf("___________________________________________________ ");
//删除'//'型注释
if((fIn=fopen("input.txt","r"))==NULL)
...{
printf("can not open this file! ");
}
fTemp=fopen("tempoutput.txt","w");
while (!feof(fIn))
...{
i=0;
fgets(buffer,100,fIn);
len=strlen(buffer);
while(len--)
...{
ch1=buffer[i];
ch2=buffer[i+1];
i++;
if (ch1=='/'&&ch2=='/')
...{
fputc(' ',fTemp);
break;
}
fputc(ch1,fTemp);
}
}
fclose(fIn);
fclose(fTemp);
//删除'/**/'型注释
if((fTemp=fopen("tempoutput.txt","r"))==NULL)
...{
printf("can not open this file! ");
}
fOut=fopen("output.txt","w");
while ((ch1 = fgetc(fTemp)) != EOF)
...{
if (ch1== '/')
...{
ch2= fgetc(fTemp);
if (ch2 == '*')
...{
ch1= fgetc(fTemp);
ch2= fgetc(fTemp);
while (ch1 != '*' &&ch2 != '/')
...{
ch1=ch2;
ch2=fgetc(fTemp);
}
}
else
...{
fputc(ch1,fOut);
fputc(ch2,fOut);
}
}
else
fputc(ch1,fOut);
}
fclose(fTemp);
fclose(fOut);
}
#include "string.h"
void main()
...{
FILE *fIn,*fTemp,*fOut;
char ch1,ch2,buffer[100];
int i,len;
printf("___________________________________________________ ");
printf("*************************************************** ");
printf(" 这是一个用于删除C语言源程序中注释的小程序! ");
printf(" Made by zs,on Mar 27th,2008. ");
printf("*************************************************** ");
printf("___________________________________________________ ");
//删除'//'型注释
if((fIn=fopen("input.txt","r"))==NULL)
...{
printf("can not open this file! ");
}
fTemp=fopen("tempoutput.txt","w");
while (!feof(fIn))
...{
i=0;
fgets(buffer,100,fIn);
len=strlen(buffer);
while(len--)
...{
ch1=buffer[i];
ch2=buffer[i+1];
i++;
if (ch1=='/'&&ch2=='/')
...{
fputc(' ',fTemp);
break;
}
fputc(ch1,fTemp);
}
}
fclose(fIn);
fclose(fTemp);
//删除'/**/'型注释
if((fTemp=fopen("tempoutput.txt","r"))==NULL)
...{
printf("can not open this file! ");
}
fOut=fopen("output.txt","w");
while ((ch1 = fgetc(fTemp)) != EOF)
...{
if (ch1== '/')
...{
ch2= fgetc(fTemp);
if (ch2 == '*')
...{
ch1= fgetc(fTemp);
ch2= fgetc(fTemp);
while (ch1 != '*' &&ch2 != '/')
...{
ch1=ch2;
ch2=fgetc(fTemp);
}
}
else
...{
fputc(ch1,fOut);
fputc(ch2,fOut);
}
}
else
fputc(ch1,fOut);
}
fclose(fTemp);
fclose(fOut);
}
- 编译原理——删除注释
- 强悍的 vim —— 删除空行、删除注释以及加注释解注释
- 编译原理_pl0程序分析及注释
- 二、JAVA编译原理与注释
- 程序设计语言—编译原理
- 程序设计语言—编译原理
- 编译原理—语法分析
- 编译原理——引论
- 编译原理—词法分析器
- 编译原理—判断回文
- 删除注释
- 删除注释
- 每日一题(26)——删除注释&&删除行号 C++
- [编译原理]学习笔记(一)——编译概述
- 编译原理———文法
- 编译原理——词法分析器
- 编译原理——学习笔记
- 软考——编译原理
- 关于内存
- 抵制与爱国!
- C#基础学习之一 温故而知新
- http协议详解
- Android平台简介
- 编译原理——删除注释
- MD5加密代码(java)
- 堆溢出问题(-)
- ASP.NET 2.0 中跨网页提交的三种方法
- 编译原理——词法分析器
- VS2005的UserControl的使用问题
- 刘长炯老师的java 学习大草原
- nTune
- STN、TFT、OLED