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

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

Barbara Streisand
发布: 2024-11-28 21:36:12
原创
579 人浏览过

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

在 C 中从标准输入读取数据直到文件结束

在 C 中直接处理来自用户输入的数据时,通常希望读取所有数据,直到到达文件结尾 (EOF)。 cin.get() 函数允许读取数据,直到遇到指定的字符。但是,使用 ' ' 作为终止字符可能不是最佳选择,因为它并不真正代表 EOF。

使用循环进行数据提取

最有效的解决方案读取数据直到 EOF 涉及循环的使用。 std::getline() 函数特别适合此目的。默认情况下,getline() 读取数据直到遇到换行符。但是,可以指定替代终止字符:

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

在此示例中, getline() 读取每一行数据,直到到达文件末尾。当 getline() 无法读取更多数据时,循环终止,表明遇到了 EOF。

替代终止符

虽然 EOF 不是一个可以如果直接指定,可以使用哨兵值来表示EOF。例如,您可以将变量初始化为特定值并读取数据,直到遇到该值:

const std::string EOF_MARKER = "EOF";
std::string line;
while (getline(std::cin, line))
{
    if (line == EOF_MARKER)
        break;

    std::cout << line << std::endl;
}
登录后复制

此方法允许您定义自己的文件结束指示符,从而为您的应用程序提供更大的灵活性。数据处理。

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

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