c语言的,一个程序,在一个文本文件中查找用户指定字符串,找到,指出在哪行 大家看第二个for语句怎么改
#include<stdio.h>#include<ctype.h>#include<string.h>FILE*fp;charbuf1[20];charbuf3[20]...
#include<stdio.h>
#include<ctype.h>
#include<string.h>
FILE*fp;
char buf1[20];
char buf3[20];
char buf2[1000];
int main()
{
int y;
y=strlen(buf1);
char c;
int x=0;
gets(buf1);
gets(buf3);
if((fp=fopen(buf1,"r"))==NULL)
printf("Error");
for(;feof(fp)==0;x++)
{
c=fgetc(fp);
buf2[x]=c;
}
buf2[x]='\0';
for(;*buf2;buf2++)
{
if(buf2==buf3&&strncmp(buf2,buf3,y)==0)
printf("%d",buf2);
}
return 0;
} 还有怎么指出在哪行改怎么编写 展开
#include<ctype.h>
#include<string.h>
FILE*fp;
char buf1[20];
char buf3[20];
char buf2[1000];
int main()
{
int y;
y=strlen(buf1);
char c;
int x=0;
gets(buf1);
gets(buf3);
if((fp=fopen(buf1,"r"))==NULL)
printf("Error");
for(;feof(fp)==0;x++)
{
c=fgetc(fp);
buf2[x]=c;
}
buf2[x]='\0';
for(;*buf2;buf2++)
{
if(buf2==buf3&&strncmp(buf2,buf3,y)==0)
printf("%d",buf2);
}
return 0;
} 还有怎么指出在哪行改怎么编写 展开
3个回答
展开全部
#include<stdio.h>
#include<ctype.h>
#include<string.h>
FILE*fp;
char buf1[20];
char buf3[20];
char buf2[1000];
char *p = buf2;
int main()
{
int y;
y=strlen(buf1);
char c;
int x=0;
gets(buf1);
gets(buf3);
if((fp=fopen(buf1,"r"))==NULL)
printf("Error");
for(;feof(fp)==0;x++)
{
c=fgetc(fp);
buf2[x]=c;
}
buf2[x]='\0';
for(;*p;p++)
{
if(buf2==buf3&&strncmp(buf2,buf3,y)==0)
printf("%d",buf2);
}
return 0;
}
你应该定义一个指针 char *p = buf2; 让它等于buf2,这样p可以++,但是buf2是个定值,
你buf2++ 肯定不对
#include<ctype.h>
#include<string.h>
FILE*fp;
char buf1[20];
char buf3[20];
char buf2[1000];
char *p = buf2;
int main()
{
int y;
y=strlen(buf1);
char c;
int x=0;
gets(buf1);
gets(buf3);
if((fp=fopen(buf1,"r"))==NULL)
printf("Error");
for(;feof(fp)==0;x++)
{
c=fgetc(fp);
buf2[x]=c;
}
buf2[x]='\0';
for(;*p;p++)
{
if(buf2==buf3&&strncmp(buf2,buf3,y)==0)
printf("%d",buf2);
}
return 0;
}
你应该定义一个指针 char *p = buf2; 让它等于buf2,这样p可以++,但是buf2是个定值,
你buf2++ 肯定不对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询