gpt4 book ai didi

c++ - 在循环中使用 cin.get() 输入字符串

转载 作者:行者123 更新时间:2023-11-27 23:37:14 26 4
gpt4 key购买 nike

我想知道是否有一种方法可以在循环中使用 cin.get() 函数来读取可能由多个单词组成的字符串。

例如

while (cin.get(chr)) // This gets stuck asking the user for input

while (cin.get(chr) && chr != '\n') // This code doesn't allow the '\n' to be read inside the loop

我希望能够读取整个字符串并能够使用我的 chr 变量来确定正在读取的当前字符是否为“\n”字符。

我对 getline 函数有点熟悉。但是我不知道有什么方法可以在使用 getline 时单独遍历字符串中的每个字符,同时对它们进行计数。我希望我说的是有道理的。我是编程和 C++ 的新手。

我基本上想确定这些字符(' '、'\n')何时出现在我的字符串中。我将使用它来确定字符串中一个单词何时结束以及一个新单词何时开始。

最佳答案

如果你想阅读整行并计算其中的空格,你可以使用 getline .

std::string s;
std::getline(std::cin, s);

//count number of spaces
auto spaces = std::count_if(s.begin(), s.end(), [](char c) {return std::isspace(c);});

std::getline 将始终读取,直到遇到 \n

关于c++ - 在循环中使用 cin.get() 输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58382274/

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