-1

我正在从诸如“5 8 12 45 8 13 7”之类的文件中读取一行输入。

我可以将这些整数直接放入数组中,还是必须先将它们放入字符串中?

如果最初必须使用字符串,我将如何将此整数字符串转换为数组?

输入:“5 8 12 45 8 13 7”=> 到数组中:{5,8,12,45,8,13,7}

4

1 回答 1

7

不,您不需要将它们转换为字符串。使用 C++ 标准库的容器和算法,这实际上非常简单(只要分隔符是空格或空格序列,它就可以工作):

#include <iterator>
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> v;

    // An easy way to read a vector of integers from the standard input
    std::copy(
        std::istream_iterator<int>(std::cin), 
        std::istream_iterator<int>(), 
        std::back_inserter(v)
        );

    // An easy wait to print the vector to the standard output
    std::copy(v.cbegin(), v.cend(), std::ostream_iterator<int>(std::cout, " "));
}
于 2013-02-06T22:04:32.143 回答