首页 > 后端开发 > C++ > 如何在 C 中从标准输入读取数据直到 EOF?

如何在 C 中从标准输入读取数据直到 EOF?

Susan Sarandon
发布: 2024-11-18 06:26:02
原创
1052 人浏览过

How to Read Data from Standard Input Until EOF in C  ?

在 C 中从标准输入读取数据直到文件结尾 (EOF)

在 C 中处理用户输入时,通常有必要从标准输入 (cin) 读取数据,直到到达文件末尾 (EOF)。尝试读取直到 EOF 时,需要考虑某些限制和方法。

一个常见的误解是使用 cin.get(input, ' ') 读取数据直到 EOF 或空字符 (' ')遇到就可以达到想要的结果。然而,' ' 并不代表 EOF,这种方法会一直读取直到 EOF 或 ' ' 发生,以先到者为准。

要从 cin 读取数据直到 EOF,需要使用循环。 std::getline() 函数为此提供了一种有效的方法:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
登录后复制

std::getline() 读取 cin 中的输入并将其存储在指定的字符串变量中,默认分隔符为换行符。它返回一个布尔值,指示是否成功读取一行。当遇到 EOF 时,std::getline() 返回 false,导致循环终止。

虽然在读取直到 EOF 时需要循环似乎是一个限制,但重要的是要记住在 C 中, EOF 本身不是一个字符。因此,不可能简单地调用 std::getline() 来读取所有数据直到 EOF。

以上是如何在 C 中从标准输入读取数据直到 EOF?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板