1.打开一个文档,文档的内容如下
012345678901234567890123456789
012345678901234567890123456789
2.代码如下
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main(){
FILE* fp=NULL;
if((fp=(fopen("new.dat","r")))==NULL)
printf("open failure");
char num[10];
while(1){
if((fgets(num,10,fp))==NULL){
if(ferror(fp)){
printf("read error\n");
fclose(fp);
return -1;
}
else{
printf("reach to end\n");
fclose(fp);
return 0;
}
}
else{
printf("%s\n",num);
}
}
fclose(fp);
return 0;
}
3.结果如下:
012345678
901234567
890123456
789
012345678
901234567
890123456
789
reach to end
我有些疑问,关于“789”和“reach to end”之间的那么多的换行是怎么回事?
很简单,是因为你的文档内容空了许多行