gpt4 book ai didi

C++如何从用户输入中读取第一个字符并忽略其余部分(字符类型)

转载 作者:行者123 更新时间:2023-11-30 02:26:20 24 4
gpt4 key购买 nike

char Oprt;
cout << "\nPlease enter first number: ";
cin >> num1;
cout << "Please enter second number: ";
cin >> num2;
cout << "Now please enter operator: ";
cin >> Oprt;
while (Oprt != '+' && Oprt != '-' && Oprt != '*' && Oprt != '/')
{
cout << "Wrong Operator please enter again: ";
cin >> Oprt;
}

当用户写入类似“ffsd”的内容作为输入时,循环循环的次数与用户写入的字符一样多,但我想要的是我的程序只读取第一个符号并忽略其余符号。

最佳答案

这里有两种有效的方法:

  • 使用cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n')忽略所有字符直到并包括 '\n' , 或
  • 使用istream::getline阅读全文std::string , 如果字符串不为空则抓取首字符。

在这两种情况下,您都需要忽略 '\n'在进入循环之前,因为 cin >> num2不删除 '\n'来自输入流。

关于C++如何从用户输入中读取第一个字符并忽略其余部分(字符类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908980/

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