c - 为什么 puts 函数会打印从文件中读取的最后一行并再一次存储在数组中?
问题描述
我正在学习 C 中的文件 I/O,我看了一个教程并看到了这段代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *inp;
char singleLine[100];
inp = fopen("text2.txt", "r");
while(!feof(inp)){
fgets(singleLine, 100, inp);
puts(singleLine);
}
fclose(inp);
return 0;
}
这是我为实践创建的文本文件:
text2.txt
Are you ok
Hi
How are you
I am fine
我了解大多数代码,但是当我自己实现代码时,文本文件的最后一行不断出现,如下所示:
Are you ok
Hi
How are you
I am fine
I am fine
而本教程中并非如此。请解释一下是什么问题,谢谢
解决方案
推荐阅读
- azure - 搜索 Azure Log Analytics SigninLogs 显示没有数据
- node.js - 在 Windows 上生成和分离“pwsh.exe”子进程不起作用
- html - CSS 砌体列/网格布局
- c# - C# EF 6 CurrentValues.SetValues 不能更改对象的关键信息
- c# - Unity3D:从多个子游戏对象调用一次事件
- asp.net - 如何显示保存文件的进度条百分比
- javascript - 如何从 ajax 响应执行 javascript 代码?
- java - 如何解决 Spring Boot 项目中 REST 服务的并发问题?
- python - 将域与 DNS 解析器名称匹配 - Python
- javascript - 我在 sublime 文本上运行 javascript 时遇到问题