gpt4 book ai didi

c++ - 检查 std::cin operator>> 是否读取了整行

转载 作者:行者123 更新时间:2023-11-30 00:59:57 25 4
gpt4 key购买 nike

我正在实现一个小型命令行解析器。假设我有一个需要 2 个参数的命令。我想让用户在一行和多行中键入所有 3 个字符串(命令和 2 个参数)。目前我有这样的事情:

std::string command;
std::cin >> command;
std::cout << command << " entered\n";
std::string param1;
std::cin >> param1;
std::cout << param1 << " entered\n";
std::string param2;
std::cin >> param2;
std::cout << param2 << " entered\n";

现在我希望能够检测到用户刚刚输入了不带任何参数的命令,并为此输出指示。我认为在收到命令后,我应该测试该行是否包含其他任何内容,如果不包含,则要求用户键入更多内容。我已经尝试使用 eof()fail() 但它们不起作用。那我该如何检查呢?

谢谢。

最佳答案

如果你想读取一行,那么你应该使用std::getline。一旦你有了整行,你就可以把它分解成单词,不管有多少。

关于c++ - 检查 std::cin operator>> 是否读取了整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3513671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com