当用户输入一个特殊字符时如何退出程序
How to exit a program when user inputs a special character
我目前正在做一个简单的程序,它由一个while循环组成,读入两个int型,然后将它们打印出来。我的问题是,当用户输入字符"|"时,我如何退出程序?这是一个超级简单的小程序:
int main()
{
int var1 = 0;
int var2 = 0;
while(cin>>var1>>var2)
{
cout << var1 << " " << var2 << endl;
}
return 0;
}
我知道你可以为getline定义一个参数来做我想做的事情,但我不知道如何在while循环中实现它。谢谢你的帮助。
只要有人输入了istream不能输入的内容,循环就会退出<<转换成整数。无论如何,要在|处退出,我将使用peek函数:
int main()
{
int var1 = 0;
int var2 = 0;
while( cin.good() )
{
char c;
c = cin.peek();
if( c == | )
break;
else
{
cin >> var1 >> var2;
cout << var1 << " " << var2 << endl;
}
}
return 0;
}
避免使用c风格的输入或复杂的行解析。
您所要做的就是检查在if块中输入的值是否为|,然后使用break关键字停止循环。
像这样的行:
#include <stdio.h>
int main() {
char c;
for(;;) {
printf( "nPress any key, Q to quit: " );
// Convert to character value
scanf("%c", &c);
if (c == 'Q')
break;
}
} // Loop exits only when 'Q' is pressed
如前所述,如果用户输入|
,您将退出循环。或任何其他不能解释为int
(之后)的内容>
如果你想要更精确的控制,你必须逐行读取行(并解析该行),或逐个字符(并构建)
相关文章:
- 如何用转义符替换字符串中的所有特殊字符
- 为什么异常不退出程序?
- 转换特殊字符(UTF-8)
- 虽然循环在使用回车键时不退出程序
- 如果 I/O read() 处于阻塞阶段,如何使用 Ctrl+C 退出 C++ 程序?
- 捕获异常后如何退出程序执行
- 反转字符串中单词的位置,而不更改 O(1) 空格限制中特殊字符的顺序
- 如何在C++中打印此"█"特殊字符?
- c++为什么ifstream get()函数返回无法识别的特殊字符
- 如何检查字符串是否包含所有这些:数字、字母和特殊字符
- C++从句子中删除给定字符的程序不起作用
- 在C++中使用exit()退出程序有问题吗
- 转义std::字符串中的特殊字符
- SDL2加载具有特殊字符的文件
- 从函数打印 CLI 帮助消息后,我应该如何干净地退出 C++ 程序?
- 如何实现否定用户输入退出程序和打印列表?
- 将 std::string 转换为具有特殊字符的 FString (TCHAR / wstring)
- 如果我得到任何字符,请退出程序
- 如何通过按特殊字符"!"在 c++ 上终止我的程序?
- 当用户输入一个特殊字符时如何退出程序