我需要以下代码段的帮助:
使用string in
以下循环终止:
int main() {
string in;
while(1){
cin >> in;
if (in == "|")
break;
}
但是使用int in
以下循环不会终止:
int main() {
int in;
while(1){
cin >> in;
if (in == '|')
break;
else
cout<< in << "\n";
}
我想终止最后显示的代码段。是否可以使用int in
。
我看过帖子C++ Terminate loop using a char input to int但没有解决方案。
答案 0 :(得分:0)
虽然字符在计算机中表示为小整数,但ListView
与Components
不同。不是用C ++。
当您读入ConcreteAttribute1
变量时,ObservableCollection
运算符会尝试将输入解析为整数,作为数字而不是字符。
如果你想读一个字符,那么读一个字符:
int
如果您尝试读取整数,并且输入不是数字,则输入运算符将失败。参见例如this very simple example
答案 1 :(得分:0)
这是我使用的方法
我需要使用while循环无限地将整数输入向量,并使用字符将其终止。 这种方法将输入作为字符,然后将此char转换为整数。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
char in;
std::vector<int> vec;
while(1){
cin>>in;
if(in == '|'){
break;
}
vec.push_back(in - '0');
}
for(int j=0; j<vec.size(); j++){
cout<<vec[j];}
return 0;
}