旧钢板哪里有卖:如何利用C语言编写处理注释的程序?

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 10:46:55
我在用C语言编写程序,程序需要从文件中读取数据。现在我想在文件中"%"屏蔽掉某一行或者某几行,也就是将某行看成注释,就像在C语言中将某些不需要的句子注释掉一样。我曾想将文件指针移到该行的末尾,但是不知道该怎么实现,
请问有没有那位高手能帮一帮忙呀?
注意:我只想在需注释行的前面加一个特殊字符就可以了,如%,不需要该行末尾也加此符号。
例子:
读取的文件中有如下数据:
有四个数据需要读取(在第一行中填数据数4),之后为具体数据
4
4.0
5.6
7.8
2.3
现在想改成这样,只需要3个数据,屏蔽掉第3个数据:
3
4.0
5.6
%7.8
2.3

#include <stdio.h>
main()
{
FILE*fp;
char ch='';
fp=fopen("111.txt","r");
fscanf(fp,"%c",&ch);
while(ch!=EOF)
{
if(ch!='%')
printf("%c",ch);
else
{
while(ch!='\n')
{
fscanf(fp,"%c",&ch);
}
}
fscanf(fp,"%c",&ch);
}
getch();
}

C语言单行注释符号是双斜杠,即 //
多行注释: 开始处是/* 结束处是*/

我的实现有点小麻烦
你先用getline函数(自己查用法)每次都从文件中取一行到字符数组s
然后判断s[0]是不是等于'%',是的话。说明此行市注释。继续取下一行。

不是的话,把字符数组保存的内容转换成float浮点数,然后再继续取一行。

不知道明白没有?

char *buf=new char[NUM];//NUM=3
int r=0;
int i=0;
while(eof(file))//file: FILE *file=fopen("xxx.yyy","r");
{
if((c=fgetc(file))=="%")
{
r=1;
continue;
}
if(r==1)
{
if(c!='\n')
continue;
else
r=0;
}
else if(c=='\n')
{
i=0;
//处理buf
}
buf[i]=c;
i++;

C语言里面的注释符号是 //
段注释 开始处是/* 结束处是*/