问题标签 [eof]

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 投票
7 回答
3959 浏览

c++ - C ++中EOF的无限循环

这段代码大部分都按预期工作,即提示用户输入单个字符,执行相关操作,提示用户按回车键,然后重复。但是,当我在提示符下输入 ^D (EOF) 时,会发生无限循环。我正在通过 std::cin.clear() 清除错误状态并调用 std::cin.ignore(...) 来清除缓冲区。什么可能导致无限循环?

如果重要的话,我正在 Mac OS X 终端中运行它。


更新:我在这里真正要问的是,当用户在提示符处输入 EOF (^D) 时,我如何 (a) 检测它并 (b) 重置流,以便用户可以继续输入数据。

以下示例与上面的代码不同,但说明了在检测到 ^D 后清除流并继续从该流中读取的相同原理。

0 投票
7 回答
25785 浏览

c - C语言中的EOF问题

我正在编写一个程序,它应该读取两个可以包含换行符和各种其他字符的字符串。因此,我使用 EOF(Ctrl-Z 或 Ctrl-D)来结束字符串。

这适用于第一个变量,但是对于第二个变量,这似乎是有问题的,因为显然某些东西卡在输入缓冲区中并且用户无法输入任何内容。

我试图用while (getchar() != '\n');几个类似的变化来清理缓冲区,但似乎没有任何帮助。所有的清理尝试都导致了一个无限循环,如果不清理,添加第二个变量是不可能的。

这两个变量的字符都是在这样的循环中读取的:while((c = getchar()) != EOF),这表明它是我卡在缓冲区中的 EOF。或者它是否以其他方式影响程序的行为?我使用的逻辑有问题吗?

在为此苦苦挣扎了几个小时后,我开始变得有些绝望。

代码:

0 投票
6 回答
2195 浏览

c - EOF 总是负数吗?

总是EOF消极的?

我正在考虑编写一个函数来读取输入中的下一个单词并返回找到该单词的行号,或者EOF是否已到达输入的末尾。如果EOF不一定是负数,则该函数将不正确。

0 投票
5 回答
4630 浏览

c++ - 文件末尾的空格导致 EOF 检查在 C++ 中失败

我正在从一个包含三列的文件中读取数据。例如,数据将类似于:

要读取数据,我使用以下检查:

我的问题是循环通常会执行额外的循环。我很确定这是因为很多文本编辑器似乎在实际内容的最后一行之后放了一个空行。

我做了一些谷歌搜索并在 SO 上搜索并发现了一些类似的情况,例如从文本文件中读取直到 EOF 重复最后一行,但是我似乎不太适应为解决我的问题而给出的解决方案。有什么建议么?

0 投票
11 回答
34235 浏览

awk - 如何在awk中检测EOF?

有没有办法判断当前行是否是输入流的最后一行?

0 投票
5 回答
2008 浏览

vb.net - 避免“文件结束”错误

我正在尝试将制表符分隔的文件导入表中。

问题是,有时,该文件将包含一条尴尬的记录,该记录具有两个“空值”,并导致我的程序抛出“意外的文件结尾”。

例如,每条记录将有 20 个字段。但是最后一条记录将只有两个字段(两个空值),因此是意外的 EOF。

目前我正在使用一个StreamReader.

我尝试计算行数并告诉 bcp 在“幻像空值”之前停止读取,但StreamReader由于“幻像空值”而得到错误的行数。

我尝试了以下代码来摆脱所有虚假代码(从网上借来的代码)。但它只是用空格替换了字段(我想要没有留下任何一行的结果)。

我尝试使用 SSIS,但遇到 EOF 意外错误。

我究竟做错了什么?

0 投票
2 回答
723 浏览

c# - 为什么 CTRL-D 不以单声道发送 EOF?

采用以下 C# 文件,这是我的问题的最简单的重现:

当我在单声道下构建它并在控制台上运行它时,一切正常,除了我无法发送 EOF。键入 CTRL-D 只会在命令行上放置一个奇怪的字符。我认为我正在以错误的方式检查 EOF ,但Console.In它是 a TextReader,它没有该EndOfFile属性。我怎样才能解决这个问题?

0 投票
1 回答
5390 浏览

python - python 标准输入 eof

如何将python eof传递给stdin

这是我的代码

当我在输入输入字符串窗口后在命令行中运行 commd 时,仍然期望 Ctrl+Z 完成接受输入。

如何在程序中传递 eof 或 Ctrl+Z?

谢谢!

0 投票
6 回答
65565 浏览

python - 如何在Python中循环直到EOF?

我需要循环直到遇到类似文件的对象的末尾,但我没有找到“明显的方法”,这让我怀疑我忽略了一些东西,嗯,很明显。:-)

我有一个流(在这种情况下,它是一个 StringIO 对象,但我对一般情况也很好奇),它以“<length><data>”格式存储未知数量的记录,例如:

现在,我能想象到的唯一清晰的阅读方式是使用(我认为的)一个初始化循环,这似乎有点不像 Pythonic:

在类似 C 的语言中,我只需将 's test 子句read(4)放在while's test 子句中,但这当然不适用于 Python。关于更好的方法来实现这一点的任何想法?

0 投票
5 回答
18470 浏览

yacc - 野牛文件结尾

如果我忘记在任何文件的末尾放置一个空行,我的程序就会出现语法错误。问题是我的语法需要换行符来结束当前行。由于不存在换行符,因此野牛会生成语法错误,因为它没有完成规则。

我该如何解决这个问题?我尝试<<EOF>>返回MY_EOF但当我这样做时 lex 崩溃了一个可怕的死亡。我猜它的默认 EOF 中有我没有调用的代码。我不知道它们可能是什么功能。使用 EOF 创建错误symbol EOF is used, but is not defined as a token and has no rules