一个在文件中查找字符,并且返回行号的程序。
虽然确实可以达到我想要的目标,但是总觉得剑走偏锋过甚了。有没有哪位大神,可以弄一个比较合乎常理的程序代码。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char c,b,buffer[256],data[35],*loc,buff[80];
char fname[20];
int count,x=0,y,a=0;
FILE *fp;
printf("请输入文件名: ");
gets(fname);
if((fp=fopen(fname,"rb"))==NULL)
{
printf("打开文件失败.\n");
exit(1);
}
printf("请输入你要查找的内容.\n");
scanf("%s",data);
for(count=0;count<256;count++)
{
c=fgetc(fp);
if(!feof(fp))
{
buffer[count]=c;
buffer[count+1]='\0';
}
if(c=='\n')
{
x++;
}
}
loc=strstr(buffer,data);
if(loc==NULL)
{
printf("您所要的数据不再其中.\n");
exit(1);
}
strcpy(buff,loc);
for(y=0;y<strlen(buff);y++)
{
c=buff[y];
if(c=='\n')
{
a++;
}
}
printf("您所要的数据在第 %d 行.\n",(x-a)+1);
fclose(fp);
return 0;
}









