问题标签 [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 投票
10 回答
96128 浏览

c++ - 我们可以自己写一个EOF字符吗?

大多数语言(如 C++)在写入文件时,会放置一个 EOF 字符,即使我们错过了编写如下语句:

文件流.close

但是有什么办法,我们可以根据我们的要求,把EOF字符放在C++中,例如。或者我们可以使用的任何其他方法,除了使用 C++ 中提供的函数。

如果您需要询问更多信息,请发表评论。

提前致谢。

编辑:感谢您的支持,但这是对这个问题的补充:

如果我们想欺骗操作系统并将 EOF 字符放在文件中并在 EOF 之后写入一些数据,这样诸如 notepad.exe 之类的应用程序就无法在我们的 EOF 字符之后读取该怎么办。我已经阅读了与该主题相关的问题的答案,并且知道现在的操作系统通常看不到 EOF 字符,而是检查文件的长度以正确了解文件的长度,但是,那里必须是操作系统中的一个过程,它将检查文件的长度,然后更新文件记录。

如果我的估计有任何错误,我很抱歉,但请帮助我,因为它可以带来很多新的想法。

0 投票
6 回答
14389 浏览

c++ - 不在 EOF 时 read(2) 可以返回零吗?

根据 read(2) 的手册页,它仅在到达 EOF 时返回零。

但是,这似乎是不正确的,它有时可能会返回零,可能是因为文件还没有准备好读取?在从磁盘读取文件之前,我应该调用 select() 来查看它是否准备就绪?

请注意,nBytes 为:1,445,888

一些示例代码:

输出读取(当它失败且没有读取数据时):

这是在 centos4 32 位上作为使用 VMware Server 1.0.10 的虚拟机运行的。正在读取的文件系统是虚拟机本地的。主机是windows server 2008 32位。

uname -a 说:

我注意到下面给出的链接http://opengroup.org/onlinepubs/007908775/xsh/read.html指出:

所以,也许我收到一个中断读取的信号,因此返回的值是零,因为错误或者它认为读取了零字节?

0 投票
2 回答
9182 浏览

asp.net - RecordSet.MoveNext 的等价物,而不是 ASP.NET 中的 EOF

我正在使用 aDataReader来显示存储在表格中的信息。

我创建了两个按钮来next记录和go back

在 VB6 中,我使用了以下代码:

ASP.NET我没有找到喜欢它的方法,因为 DataReader 没有 EOF 属性。

编辑 :

如何将最后一个代码 (VB6) 转换为 ASP.NET ?

0 投票
1 回答
2060 浏览

c++ - 如何让 boost::iostream 在与 std::ios::binary 相当的模式下运行?

我有以下问题boost::iostreams。如果有人熟悉编写过滤器,我真的很感谢您的建议/帮助。

我正在编写一对多字符过滤器,boost::iostream::filtering_stream可用作数据压缩器和解压缩器。 我从写一个压缩器开始,从 lz-family 学习了一些算法,现在正在研究一个解压缩器。

简而言之,我的压缩器将数据拆分为数据包,这些数据包分别编码,然后刷新到我的文件中。

当我必须从我的文件中恢复数据时(在编程术语中,接收read(byte_count)请求),我必须读取一个完整的打包块,缓冲它,解包它,然后才给出请求的字节数。我已经实现了这个逻辑,但现在我正在努力解决以下问题:


当我的数据被打包时,任何符号都可以出现在输出文件中。而且我在读取文件时遇到麻烦,其中包含(hex 1A, char 26)使用boost::iostreams::read(...., size).

例如,如果我使用std::ifstream,我会设置一个std::ios::binary模式,然后可以简单地读取这个符号。

在实现使用例程读取字符序列的boost::iostream过滤器时,有什么方法可以实现相同的效果?boost::iostream::read


这里有一些代码:

0 投票
5 回答
1099 浏览

java - 使用 Java 将 XML 数据发布到 API 的问题

我在使用 HTTP POST 向 API 发送 XML 数据时遇到问题。

如果我发送格式正确的 XML,我会收到一条错误消息:

服务器异常:无法访问已关闭的流

如果 XML 格式不正确,我会得到HTTP 500. 如果我只是发送一个空字符串而不是带有 XML 的字符串,我会收到一条错误消息:EMPTY REQUEST.

我对错误可能是什么没有太多想法,但是连接有效,因为错误消息以 XML 格式返回。我只是将 XML 数据作为字符串发送。最后是否可能要求我发送EOF其他内容?我如何在我的 Java 代码中做到这一点?关于问题可能是什么的任何其他想法?

API 是在 .NET 中制作的

这是我用来发布 XML 数据的 Java 代码:

0 投票
1 回答
11334 浏览

antlr - ANTLR 在输入端没有可行的替代方案''

我仍在使用 ANTLR 进行学习。我已经建立了一个语法,并且在大多数情况下它可以满足我的期望,但我需要它能够静默运行(没有输出到 stdout 或 stderr)。

语法

爪哇

输入

输出

我不确定为什么会收到 EOF 错误。据我了解,我的语法正确解析,并且在评估“解析”解析器后出现错误,但该节点正在寻找 EOF。使用 ANTLR 3.2

0 投票
3 回答
2088 浏览

java - Hibernate、c3p0 和 Mysql:java.io.EOFException

我将HibernateMySQLc3p0一起使用,当 MySQL 连接在 8 小时后(wait_timeout)到期时,Hibernate 无法重新连接,并且出现以下异常:

这是hibernate.cfg:

这是我的 c3p0.properties 文件:

更新:

日志文件下方:

任何提示表示赞赏。
谢谢

0 投票
1 回答
54 浏览

vb.net - [VB.NET]将数据从一个文件传输到另一个文件

基本上我想带上我的客户。然后例如让我们说在我的客户端我有“A = 1”然后我的第二个文件中有随机数据。所以客户端=我的客户端文件=最终结果中我想要的文件

我如何将“A = TextBox1.Text”从客户端注入文件。我听说它被称为“文件结束”或类似的东西。请问有什么帮助吗?

0 投票
3 回答
20613 浏览

c++ - 找到 cin 和 ifstream 的流的结尾?

我正在阅读一本 C++ 教科书,作为 C++ 编程的复习。其中一个实践问题(无需过多介绍)要我定义一个可以作为参数传递 ifstream 或 cin(例如 istream)的函数。从那里,我必须通读流。麻烦的是,我想不出一种方法让这个函数使用 cin 和 ifstream 来有效地找到流的结尾。即,

不会为cin工作。我可以修改函数以查找某个短语(例如“#End of Stream#”或其他内容),但我认为如果我传递的文件流具有这个确切的短语,那么这是一个坏主意。

我曾想过使用函数重载,但到目前为止,这本书已经提到了它想要我这样做的时候。我可能在这个练习题上投入了太多精力,但我喜欢创作过程,并且很好奇是否有这样一种方法可以做到这一点而不会超载。

0 投票
3 回答
15287 浏览

c - 为什么这个程序会出现段错误?

我编写了一个名为Mathtext的程序。该程序通过将某些字符范围转换为 Unicode 范围(例如“数学字母符号”)来生成纯文本斜体、粗体、衬线等,从而提供纯文本“样式”。

它作为逐行解释器工作,就像一个shell,在输入一行后输出翻译的行。这意味着文件可以cat/管道输入以翻译整个文件,以及您可以通过按 ^D 来“退出”“shell”的事实,这可以通过标准输入命中 EOF 来检测。

一切正常。但是,当我按 ^D 并退出时,它会出现段错误。我仍然无法完全理解是什么原因造成的。

编译有-g -O0一点帮助;我现在知道问题是由按下 ^D 时转置中的 strlen 调用引起的。但是,在 ^D 期间永远不应该调用转置,因为 eof 是真的!