读取和输出不同。读取时,cin遇到空格等字符就停止。
要读取包含空格的一行,用getline(cin,s)。
std::cin 不能读取空格,不代表 std::cout 不能输出空格。输入输出是两个步骤。
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
int main()
{
std::copy(std::istream_iterator<std::string>(std::cin),
std::istream_iterator<std::string>(),
std::ostream_iterator<std::string>(std::cout, " "));
std::cout << std::endl;
return 0;
}