在数组中保存用户的长号(c ++)

时间:2012-06-25 09:02:59

标签: c++ arrays input long-integer getline

我需要从用户那里读取数字1000101并保存在数组中。

例如:

int array1 [6]={1,0,0,1,0,1};

但是我需要用户在一行中输入数字。任何想法如何在数组中保存用户的一个长号?

2 个答案:

答案 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");