在向量中存储两个间隔字符串<string>

Storing Two Spaced String in vector<string>

最近遇到一个问题 但在此之前我会告诉你参考是什么

考虑这个程序

 #include<bits/stdc++.h>

 using namespace std;

 int main()
 {
   vector<string> RS;
   string word;
   while(cin>>word)
    RS.push_back(word);
 }

此代码将间隔字符串的每个单词存储在向量中

可是问题来了.....

 #include<bits/stdc++.h>

 using namespace std;

 int main()
 {
   vector<string> RS,FS;
   string word;

   while(cin>>word)
    RS.push_back(word);

   while(cin>>word)
    FS.push_back(word);
 }

这里的动机是将第一行的字符串单词存入RS 和 FS 向量中的第二行

但它不会停在一行的末尾并将所有单词存储在RS中 并且 FS 保持为空。

请建议一种正确执行相同程序的方法 或者 如果您知道更有效的方法,那么欢迎您

提前致谢

每个句子分别使用getlineistringstream,然后push_back其中的每个单词:

  string line;
  getline(cin, line);  //Get sentence 1
  istringstream iss1(line);
  while ( iss1 >> word) {    
    RS.push_back(word);
  }
  getline(cin, line);  //Get sentence 2
  istringstream iss2(line);
  while ( iss2 >> word) {    
    FS.push_back(word);
  }

换行符 ('\n') 充当 分隔符 for getline().