Read from ifstream and push it into a vector using algorithm std::copy , as shown below:
std::ifstream stream("input.txt"); std::vector<std::string> vec; //replace stream with std::cin for reading from console std::copy(std::istream_iterator<std::string>(stream), std::istream_iterator<std::string>(), std::back_inserter(vec));
EOF is required to complete. Ctrl + Z or Ctrl + D depends on windows or Linux.
As suggested, you can use the C ++ 11 initializer list as follows:
std::vector<std::string> vec{std::istream_iterator<std::string>{stream}, std::istream_iterator<std::string>{}};
source share