gpt4 book ai didi

c++ - 检查一个字符是否为换行符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:12 26 4
gpt4 key购买 nike

我在 C++ Primer 中做一个练习,基本上我使用 switch 语句来计算我输入的文本中的元音数量。

我使用 while 循环输入文本。

while(cin >> ch)

然后继续处理 a、e、i、o、u 的情况,为各个情况递增一个整数变量。现在问题的下一部分说还要计算空格、制表符和换行符。

我试过

case ' ':

等等,使用 '\t' 和 '\n'。但它似乎没有计算这些案例。我也试过只使用默认值并使用 if else 语句

default:
if(ch == ' ')
++space;

等但这也没有进行。我还尝试输入 ' '、'\t'、'\n' 的整数值。我在这里做错了什么?另外,我知道如果我使用 isspace() 我可以计算总和,但我需要单独计算每一个。我不确定为什么等式测试无法完成这项工作。

最佳答案

默认情况下,来自流的格式化输入会跳过前导空格。您需要禁用跳过前导空格或使用不会跳过空格的功能之一:

std::cin >> std::noskipws; // disables skipping of leading whitespace
char c;
while (std::cin.get(c)) { // doesn't skip whitespace anyway
...
}

关于c++ - 检查一个字符是否为换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425685/

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