我需要从用户那里读取数字1000101
并保存在数组中。
例如:
int array1 [6]={1,0,0,1,0,1};
但是我需要用户在一行中输入数字。任何想法如何在数组中保存用户的一个长号?
答案 0 :(得分:3)
您可以从std::cin
获取一行,例如std::getline
。获得该行后,一次获取一个字符并检查它是1还是0,然后将其转换为整数并将其添加到数组中。
请记住检查字符串和数组的限制,这样就不会走出它了。
答案 1 :(得分:1)
char c;
std::vector<int> number;
while (std::cin >> c)
if (c == '0' || c == '1')
number.push_back(c - '0');
else if (c == '\n')
break;
else
throw std::runtime_error("illegal characters in number");