标签: eof

ifstream的eof()如何工作?

#include <iostream>
#include <fstream>

int main() {
    std::fstream inf( "ex.txt", std::ios::in );
    while( !inf.eof() ) {
        std::cout << inf.get() << "\n";
    }
    inf.close();
    inf.clear();
    inf.open( "ex.txt", std::ios::in );
    char c;
    while( inf >> c ) {
        std::cout << c << "\n";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我真的很困惑eof()功能.假设我的ex.txt的内容是:

abc
Run Code Online (Sandbox Code Playgroud)

它总是读取一个额外的字符,并-1在阅读时显示eof().但是inf >> c给出了'abc'的正确输出?任何人都可以帮我解释一下吗?

c++ ifstream eof

40
推荐指数
3
解决办法
13万
查看次数

我们可以自己写一个EOF角色吗?

大多数语言如C++在写入文件时,即使我们错过编写如下语句,也会输入EOF字符:

filestream.close

但是有什么办法,我们可以根据我们的要求,在C++中为一个实例放置EOF字符.或者除了使用C++中提供的函数之外我们可以使用的任何其他方法.

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

提前致谢.

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

如果,我们想欺骗OS和放置一个EOF字符的文件和EOF了一些数据后写了这么像的notepad.exe应用程序不能我们EOF字符后阅读.我已阅读的答案与此主题相关的问题,并已经开始知道nowdays OS一般看不到一个EOF字符,而检查文件的长度让知道关于该文件的长度,但正确的想法,有必须在OS的程序,其将被检查的文件的长度,然后更新所述文件中的记录.

我很抱歉,如果我错了,在我估计任何一点,但请你帮我,因为它可以导致很多新的想法.

c++ eof

39
推荐指数
6
解决办法
7万
查看次数

用C代码表示EOF?

换行符由"\n"C代码表示.是否有文件结束(EOF)字符的等价物?

c ascii character eof

38
推荐指数
4
解决办法
9万
查看次数

Vim在文件末尾显示换行符

使用set eol选项Vim会在保存文件末尾时自动添加换行符.我有这个选项,但我希望能够在Vim中看到这个换行符,所以我知道它实际上存在.

例如,在Vim中有一个文件: Vim截图

和TextMate中的相同文件: TextMate截图

这总是欺骗我,我最终添加了第二条新线,最后才意识到.这个完全相同的问题发布在这里,但接受的答案没有回答这部分问题.

使用set list:列出截图

我可以看到$在最后一行之后有一个字符表示一个新行,但是这也用这些字符填充了文件的其余部分.我知道我可以为此设置一个切换但我真的更喜欢TextMate之类的行为.

vim newline eof

38
推荐指数
1
解决办法
1万
查看次数

在C++中检查空文件

有没有一种简单的方法来检查文件是否为空.就像你将一个文件传递给一个函数并且你意识到它是空的一样,那么你马上关闭它?谢谢.

编辑,我尝试使用FSEEK方法,但我得到一个错误说"不能转换到ifstream的FILE*".

我的函数的参数是

myFunction(ifstream &inFile)
Run Code Online (Sandbox Code Playgroud)

c++ eof

37
推荐指数
3
解决办法
8万
查看次数

Spring Rest模板用法导致EOFException

java.io.EOFException在Android上使用Spring REST模板时收到了.

stacktrace原因如下:

Caused by: java.io.EOFException
at libcore.io.Streams.readAsciiLine(Streams.java:203)
at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:560)
at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:813)
at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)
at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486)
at org.springframework.http.client.SimpleClientHttpResponse.getRawStatusCode(SimpleClientHttpResponse.java:49)
at org.springframework.http.client.SimpleClientHttpResponse.getStatusCode(SimpleClientHttpResponse.java:55)
at org.springframework.http.client.BufferingClientHttpResponseWrapper.getStatusCode(BufferingClientHttpResponseWrapper.java:47)
at com.company.util.LoggingClientHttpRequestInterceptor.intercept(LoggingClientHttpRequestInterceptor.java:33)
at org.springframework.http.client.InterceptingClientHttpRequest$RequestExecution.execute(InterceptingClientHttpRequest.java:81)
at com.company.api.interceptor.AuthTokenInterceptor.intercept(AuthTokenInterceptor.java:51)
at org.springframework.http.client.InterceptingClientHttpRequest$RequestExecution.execute(InterceptingClientHttpRequest.java:81)
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:67)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:46)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:63)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:475)
... 14 more
Run Code Online (Sandbox Code Playgroud)

另一个类似的堆栈跟踪:

org.springframework.web.client.ResourceAccessException: I/O error: null; nested exception is java.io.EOFException
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:490)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:438)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:414)
at com.company.api.ApiClient_.logLoginAttempt(ApiClient_.java:299)
at com.company.security.CompanyAuthenticationService$2.onCreateCall(CompanyAuthenticationService.java:206)
at com.company.api.SafeApiCall.doInBackground(SafeApiCall.java:49)
at com.company.api.SafeApiCall.doInBackground(SafeApiCall.java:22)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856) …
Run Code Online (Sandbox Code Playgroud)

spring android eof android-annotations

36
推荐指数
2
解决办法
2万
查看次数

如何读取用户输入直到EOF?

我当前的代码读取用户输入直到换行.但我试图将其更改为一种格式,用户可以写入输入,直到strg + d结束输入.

我目前这样做:

input = raw_input ("Input: ")
Run Code Online (Sandbox Code Playgroud)

但是如何将其更改为EOF-Ready版本?

python string input eof

36
推荐指数
4
解决办法
6万
查看次数

什么是EOF的值和'\ 0'在C中

我知道EOF并且'\0'是整数类型,但如果是这样,它们不应该有固定值吗?

我打印了两个并获得-1 EOF和0 '\0'.但这些价值是固定的吗?

我也有这个

int a=-1;

printf("%d",a==EOF); //printed 1
Run Code Online (Sandbox Code Playgroud)

EOF'\0'整数的值?

c c++ null eof

35
推荐指数
3
解决办法
7万
查看次数

什么是C编程语言中的EOF?

你怎么看到最后一个印刷品?换句话说,EOF需要投入什么?我检查了定义,它说EOF是-1.

如果你输入Ctrl-D,你将看不到任何东西.

#include <stdio.h>

int main() {
 int c;
 while((c = getchar() != EOF)) {
  printf("%d\n", c);
 }
 printf("%d - at EOF\n", c);
}
Run Code Online (Sandbox Code Playgroud)

c input eof

34
推荐指数
3
解决办法
16万
查看次数

Python 3:读取一行时的EOF(Sublime Text 2很生气)

while True:
    reply = input('Enter text')
    if reply == 'stop': break
    print(reply.upper())
Run Code Online (Sandbox Code Playgroud)

结果是:

Enter text:Traceback (most recent call last):
  File "C:\PythonProjects\5.py", line 2, in <module>
    reply = input('Enter text:')
EOFError: EOF when reading a line
[Finished in 0.2s with exit code 1]
Run Code Online (Sandbox Code Playgroud)

它只在Sublime Text 2.我试过IDLE,试过命令行,一切都很完美.为什么Subleme会对我大喊大叫?

顺便说一句,也许你也可以解释我在这种情况下可能意味着什么.当然,我在文档中已经读过,如果从输入中读取EOF,则会引发相应的错误.我想模仿这种情况.仅输入键盘?如果是,我应该输入什么组合键才能获得EOF?

先感谢您.

python eof python-3.x sublimetext2

34
推荐指数
4
解决办法
11万
查看次数