使用fgets读文件时多读出一行
时间: 2023-11-28 09:45:07 浏览: 87
c语言fgets fputs 读写文件
4星 · 用户满意度95%
使用fgets读文件时多读出一行的原因是因为fgets函数会读取行末的换行符,而在下一次读取时,会先读取到这个换行符,导致多读出一行。解决方法是在读取每一行后,判断是否到达文件末尾,如果没有到达,则继续读取下一行,否则退出循环。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE* fp;
char FlNm[] = "test.txt";
char RdStrng[1000];
fp = fopen(FlNm, "r");
if (fp == NULL) {
printf("文件读取失败");
return 1;
} else {
while (fgets(RdStrng, 1000, fp) != NULL) {
printf("%s", RdStrng);
}
fclose(fp);
}
return 0;
}
```
阅读全文