c 编程 文字统计系统 ,错误不解error C2676: binary '!=' : 'struct _iobuf' does not define...
//文字统计系统#include<stdio.h>#include<conio.h>#include<stdlib.h>intlineread(char*p,FILE*f...
//文字统计系统
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int lineread(char *p,FILE *fp)
{
for(;*fp!='\n' && *fp!=EOF;p++)
{
*p=*fp;
}
if(*fp==EOF)
return 0;
else
return 1;
}
int linefind(char *p,char *word)
{
char *word0=word;
int words=0;
while(*p!='\0')
{
if((*(p-1)>64&&*(p-1)<91)||(*(p-1)>96&&*(p-1)<123))
continue;
else if(*p!=*word0)
continue;
else
{
for(;*p==*word;p++,word0++)
{}
}
if(*word=='\0')
words++;
word0=word;
}
return words;
}
void main()
{
FILE *fp;
int line=0;
char a[500],word[20];
printf("please INPUT the word you want to find");
gets(word);
if((fp=fopen("c:\\001.txt","r"))==NULL)
{
printf("OPEN FILE ERROE");
getch();
exit(0);
}
while(lineread(a,fp))
{
line++;
printf("line %d totally %d words was found",line,linefind(a,word));
}
} 展开
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int lineread(char *p,FILE *fp)
{
for(;*fp!='\n' && *fp!=EOF;p++)
{
*p=*fp;
}
if(*fp==EOF)
return 0;
else
return 1;
}
int linefind(char *p,char *word)
{
char *word0=word;
int words=0;
while(*p!='\0')
{
if((*(p-1)>64&&*(p-1)<91)||(*(p-1)>96&&*(p-1)<123))
continue;
else if(*p!=*word0)
continue;
else
{
for(;*p==*word;p++,word0++)
{}
}
if(*word=='\0')
words++;
word0=word;
}
return words;
}
void main()
{
FILE *fp;
int line=0;
char a[500],word[20];
printf("please INPUT the word you want to find");
gets(word);
if((fp=fopen("c:\\001.txt","r"))==NULL)
{
printf("OPEN FILE ERROE");
getch();
exit(0);
}
while(lineread(a,fp))
{
line++;
printf("line %d totally %d words was found",line,linefind(a,word));
}
} 展开
展开全部
fp是文件指针,取数据不是直接对指针解引用的,需要使用fread,fscanf,fgetc,fgets这类文件读取函数。
使用fgets最直接
int lineread(char *p,FILE *fp)
{
return fgets(p,500,fp)!=NULL;
}
使用fgets最直接
int lineread(char *p,FILE *fp)
{
return fgets(p,500,fp)!=NULL;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(;*fp!='\n' && *fp!=EOF;p++)
中的fp为文件指针(FILE *),不能对其进行*fp!='\n' 运算。
中的fp为文件指针(FILE *),不能对其进行*fp!='\n' 运算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询