问题标签 [ferror]
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.
c - 流上可能导致设置 ferror() 的错误条件是什么?
从流中读取和写入的某些操作可能会在流中设置错误标志,可以使用 进行测试ferror(stream)
,虽然我很确定这一定是一个常见问题,但我无法找到所有可能的列表SO或一般网络中的错误原因。什么可能导致 ferror() 被设置?
特别是,我正在寻找在 Minix 3 上对标准输入执行 fgets() 时可能导致错误的原因,但我也在寻找更通用的列表。
c - 在 C 中创建 shell 时遇到问题(Seg-Fault 和 ferror)
我一直在关注如何制作自己的外壳的教程,但我已经被困了几天了。
两件事情:
- 当这段代码被编译和运行时,它会随机出现分段错误,我不知道为什么。
- if 语句 `if (ferror != 0)` 似乎总是正确的。这很奇怪,因为我不明白为什么fgets()在main()函数中失败。
非常感谢有关这些主题(或有关创建此 shell 的其他主题)的任何信息。
以下是一些输出:
c - 如何将 feof 和 ferror 用于 fgets(C 中的 minishell)
我已经编写了这个 minishell,但我不确定我是否正确控制了错误。我知道 fgets 可以返回 feof 和 ferror ( http://www.manpagez.com/man/3/fgets/ ) 但我不知道如何使用它们。
我检查了 fgets 是否返回一个空指针(这表明缓冲区的内容是不确定的),但我想知道如何使用 feof 和 ferror。
c++ - C++ fwrite , 错误代码 36 Broken Pipie
我在将大量数据保存到 c++ 中的二进制文件时遇到问题,我正在使用 CodeBlocks
我的代码:
它只是整理了很多数据,并将其保存到文件中。
奇怪的是,当从 DEBUG 配置文件编译和运行它时,它运行良好,而当从 release 运行时,它会抛出错误 num 32 Broken Pipe
我去构建选项,似乎产生调试符号会产生差异,当它在文件上时写入是成功的,如果它关闭,我会得到损坏的管道。
有人可以告诉为什么会出现此问题以及如何将其删除。我需要我的应用程序非常快,我想产生调试符号会减慢它的速度。
c - fread 和 ferror 不设置 errno
我正在尝试检查何时fread()
引发错误,所以我使用ferror()
.
但是,ferror()
手册页说:
错误这些函数不应失败,也不要设置外部变量 errno。
那么,我怎么知道在读取文件时发生的错误类型,虽然fread()
并ferror()
没有设置errno
?
c - ferrors 是否进行多次写入?
ferror
这个例子中的 check 检查两个s是否fprintf
有错误,还是只检查第二个?
c - 是否可以区分fgets返回的错误
在查看fgets
§7.21.7.2, 3 的 ISO C11 标准时,返回值是关于概要代码的:
如果成功,fgets函数将返回s 。如果遇到文件结尾并且没有字符被读入数组,则数组的内容保持不变并返回一个空指针。如果在操作过程中发生读取错误,则数组内容是不确定的,并返回一个空指针。
该标准说,对于文件结尾返回空指针并且没有读入任何字符或发生读取错误。我的问题是,仅仅从fgets
和返回的空指针,有没有办法区分这两种情况中的哪一种导致了错误?
c - 对标准输出进行错误检查:“依靠 ferror”是另一种选择吗?
是否ferror()
汇总先前fputc(stdout)
、fputs(stdout)
、或调用putc(stdout)
的所有错误?putchar
puts
至少在不使用宽字符串时?..(也不是printf()
。)
如果是这样,那么仅在一系列类似 putc 的调用结束时检查错误是否是一种错误检查策略?(否则使用ferror()
和流的错误指示标志似乎是多余的......)
(编辑)
这个问题已经回答了吗???
如果是这样,请帮助:是或否是答案?
我是否必须检查 et al 的每个返回值fputc(stdout)
?(如果我不想及早发现错误,在几次输出操作后检测错误就足够了。)
我当然知道(知道)某种错误会导致设置流的错误标志。问题是是否所有错误(导致 fputc 等返回负数的任何错误)都设置流的错误标志。
c - 如何在 ferror 文件中发出错误信号
假设我有这个代码:
有没有办法手动导致文件出错,这ferror
是真的,而不会将模式更改fopen
为“w”?(这会导致错误,因为我们myfile
以写入模式打开,但我们使用getc
.
c - 使用外部函数检查标准输入和标准输出
范围是否会影响,在从标准输入获取输入或输出到标准输出时检查错误?例如,如果我有一个按以下方式构建的代码体:
ferror(stdin) / ferror(stdout) 的返回值是否受到我在函数中而不是在主函数中检查它们的影响?如果有更好的方法来做到这一点也让我知道我对 C 很陌生。