一个文件的问题???
我写了一个小题,是实现把输入的人名写入一个文本,然后从中找到一个输入人的名.
当找到时可以处理,但是当没有找到时就不知道怎么处理了,不知道怎么判断文件结束,即:何时文件指针移到文件结束,查找结束.我的题市是这样写的:
void seek( char* const p){
FILE* fp;
if((fp=fopen("d:\\vc++\\whz.txt","r+t"))){
fseek(fp,4,0);
char returnchar[20];
char constchar[20];
while(1){
strcpy(returnchar,fgets(constchar,20,fp));
*(returnchar+(strlen(returnchar)-1))='\0';
if(!strcmp(p,returnchar)){
cout<<returnchar<<endl<<p<<endl;
cout<<"找到要找的人!!!\n";
fclose(fp);
return;
}
fseek(fp,16,1);
if(feof(fp)){ //就是着这里不知道怎么处理了
fclose(fp); //当文件指针移过结尾时也没有办法知道
//是我的写错了吗????
cout<<"没有找到要找的人!!!\n";
}
}
}
else{
cout<<"没有成功打开文件!!!\n";
}
}
问题点数:20、回复次数:3Top
1 楼bbyyss007()回复于 2004-12-03 11:54:35 得分 10
你可以自定义一个结束符号。
一般都有一个EOF结束符的。
用FEOF可以检测到结尾。
INT FEOF(FILE *STREAM);Top
2 楼lfxzm(无敌药水)回复于 2004-12-03 14:14:21 得分 5
feof()Top
3 楼rowdy(阿丘)回复于 2004-12-03 14:32:08 得分 5
把判断文件结尾的feof()放到while循环里试试!!Top




