我正在从诸如“5 8 12 45 8 13 7”之类的文件中读取一行输入。
我可以将这些整数直接放入数组中,还是必须先将它们放入字符串中?
如果最初必须使用字符串,我将如何将此整数字符串转换为数组?
输入:“5 8 12 45 8 13 7”=> 到数组中:{5,8,12,45,8,13,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, " "));
}