fgets是获取文件一行包括换行符(遇到结束符停止)
while(!feof(fp)){
fgets(arr,sizeof(arr),fp);
show(arr);
}
fscanf是获取文件一行不包括换行符(遇到结束符停止)
while(!feof(fp)){
fscanf(fp,"%s",arr);
show(arr);
}
具体测试代码
#include<stdio.h>
#include<stdlib.h>
#define max 100
void show(char arr[max]);
void start(char arr[max]){
FILE *fp=fopen("新建文本文档 (2).txt","r");
if(fp==NULL){
printf("no\n");
}else{
printf("yes\n");
}
while(!feof(fp)){
fscanf(fp,"%s",arr);
show(arr);
}
while(!feof(fp)){
fgets(arr,sizeof(arr),fp);
show(arr);
}
}
void show(char arr[max]){
int i;
printf("%s",arr);
}
int main(){
int i;
char arr[max]={0};
show(arr);
start(arr);
}
feof(fp)
其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值,文件未结束,返回0值)