gpt4 book ai didi

c++ - C++中的换行符(回车键)

转载 作者:行者123 更新时间:2023-12-05 08:47:17 25 4
gpt4 key购买 nike

我想写一个程序在每句话之后做一个处理。像这样:

char letter;
while(std::cin >> letter)
{
if(letter == '\n')
{
// here do the process and show the results.
}

}

我希望当用户按下回车键时(意味着句子结束)所以我们做一个过程然后在显示一些结果后用户可以输入新的短语但是行如果(字母=='\n')不像我预期的那样工作。请告诉我该怎么做。谢谢。

最佳答案

如果我理解你的问题并且你想捕获 '\n' 字符,那么你需要使用 std::cin.get(letter) 而不是std::cin >> letter; 如评论中所述,>>> 运算符将丢弃前导空格,因此 '\n' left in stdin 将在您的下一次循环迭代中被忽略。

std::cin.get() 是原始读取,将读取 stdin 中的每个字符。参见 std::basic_istream::get例如:

#include <iostream>

int main (void) {

char letter;

while (std::cin.get(letter)) {
if (letter == '\n')
std::cout << "got newline\n";
}
}

每次按下 Enter 后将生成一个 "got newline" 输出。

关于c++ - C++中的换行符(回车键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67866010/

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