问题标签 [feof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
145 浏览

c - 为什么最后一次迭代会重复?

我的问题是指将最后一个注册表重复两次的 while(!feof(arch)) 。感谢您花一些时间来回答。我在第一年学习基础知识。

信息在存档中,所以第一次输入不应该是“s”,因为这不是第一次输入。然后程序列出信息,但最后一个注册表重复两次。

0 投票
3 回答
1101 浏览

c - 使用 feof() 从文件中读取并退出循环

此链接说明了为什么feof()将其用作循环的退出指示器是一件坏事。

不安全 ==> 在 while 中进行feof()检查,在 while中进行检查fgets()

安全 ==>fgets()!=NULL在 while 本身中进行检查。

我应该看到不安全的代码执行了额外的 while 循环迭代,但两者都执行相同(且正确)数量的循环。有人可以帮助我了解这里发生了什么吗?

编辑:链接实际上确实说明了为什么会发生这种情况,但是我需要下面的正确答案才能准确理解我在读什么。我的文件最后一行没有'\n',所以得到了相同的结果。

这是文件内容:

这是代码:

输出是:

0 投票
1 回答
61 浏览

c - 无法删除文件名,也无法将我的临时文件重命名为 database-aluno.txt

我正在尝试为我的算法和数据结构主题开发解决方案。我有一个函数可以让学生比较我数据库中存在的数字读取的数字(对应于行数)。

就在系统输入餐点时发生,每周每天只有 1 餐。到目前为止,没有任何问题。

系统检查学生的余额,如果学生余额为0.0或小于3(即每顿饭的费用),系统会提示或自动推荐加载余额,并且大部分步骤都正确。

事实证明,这可能是由于几个实现的周期,我几乎一切都进展顺利,但在功能指令的末尾,指令remove(filename); andrename("backup.c",filename);`

代码:

我怎么解决这个问题?在 if 和 while 循环中会出现问题吗?

0 投票
1 回答
535 浏览

c - 如何在c语言中添加文本到结束文件文本

我有一个 c 语言文件,其中包含我想在此文件中添加另一个文本而不删除最后一个文本仅在文件末尾添加新文本的文本

0 投票
1 回答
109 浏览

c - 如何读取未知文件,包括数字、字母和符号?

您如何阅读行长未知的文件(大约 1500 行,因此不需要 malloc/alloc 等,因为内存足够......幸运的是,因为我还不了解那些数组/指针命令)包括 float数字,符号和字母,从中提取特定数字,进行一些计算并将它们写回另一个文件?

三个示例行:

0 投票
3 回答
6227 浏览

php - PHP feof() 在文件结束前返回 true

过去几天我一直在研究一个奇怪的 PHP 问题,其中 feof() 函数在文件结束之前返回 true。下面是我的代码的骨架:

通过大量测试,我发现该程序在除一个文件之外的所有内容上都可以正常工作:

  • 该文件存储在本地驱动器上。
  • 这个文件大约有 800 万行长,平均每行大约 200-500 个字符。
  • 它已经被清理过,并用十六进制编辑器仔细检查,没有发现异常字符。
  • 当程序认为它已经到达文件末尾时(即使它还剩下大约 800K 行),程序在第 7172714 行始终失败。
  • 我已经在每行字符较少但在 20-30 百万行之间没有问题的文件上测试了该程序。
  • 我尝试从http://php.net/manual/en/function.fgets.php上的评论中运行代码,以查看是否是我的代码中的某些内容导致了问题,而第 3 方代码同样失败线。编辑:还值得一提的是,第 3 方代码使用 fread() 而不是 fgets()。
  • 我尝试在 fgets 函数中指定几个缓冲区大小,但它们都没有任何区别。

var_dump($meta) 的输出如下:

在试图找出导致 feof 在文件结束之前返回 true 的原因时,我不得不猜测:

A)某些东西导致 fopen 流失败,然后什么都无法读入(导致 feof 返回 true)

B)某处有一些缓冲区正在填满并造成严重破坏

C) PHP 大神很生气

我已经进行了广泛搜索,看看是否有其他人遇到此问题,并且除了在 C++ 中通过文本模式而不是二进制模式读取文件并导致问题的情况下找不到任何实例。

更新:我让我的脚本不断输出读取函数的迭代次数以及与它旁边找到的条目相关联的用户的唯一 ID。该脚本在 7175502 中的第 7172713 行之后仍然失败,但文件中最后一个用户的唯一 ID 显示在第 7172713 行。似乎问题是由于某种原因,行被跳过并且未被读取。所有换行符都存在。

0 投票
0 回答
41 浏览

c - C - 将 feof() 与 fread 一起使用

我必须阅读一些二进制文件并将它们保存在动态列表中。当我按照我的方式进行操作时(见下文),然后打印我阅读的所有产品,控制台会向我显示 2 个产品,每个字段都设置为 0(或在数组的情况下丢失)。我不明白我做错了什么,你能帮我解决它吗?

0 投票
1 回答
231 浏览

c - C中的Feof错误

我基本上想做的是从文件中获取行并将它们放入链接列表中。但是,由于“feof”功能,当零件程序停止时执行到达。我无法理解这个问题。

谢谢你的帮助。

0 投票
2 回答
356 浏览

php - PHP:当特定值相等时对 csv 行进行分组

不要认为这很困难,但是经过一天的辛苦工作后,我无法解决这个小问题。我有一个简单的 csv 文件,我必须通过 php 显示,将列的值中的行分组。我们专门去:

这是我的 CSV 文件:

这就是我要打印的内容:

我的出发点是这样的:

0 投票
1 回答
1589 浏览

c - 错误:在 '!' 之前应为 ')' 令牌

该代码看起来与之前的分配几乎相同,但它无法编译。

问题似乎在while(feof!(in))

错误:在 '!' 之前应为 ')' 令牌

代码: