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

Storing Two Spaced String in vector<string>

本文关键字:两个 字符串 存储 lt 向量 string gt      更新时间:2023-10-16

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

考虑这个程序

 #include<bits/stdc++.h>
 using namespace std;
 int main()
 {
   vector<string> RS;
   string word;
   while(cin>>word)
    RS.push_back(word);
 }

此代码将空格字符串的每个单词存储在vector

但是问题在这里.....

 #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为空

请建议正确执行相同程序的方法或如果你知道更有效的方法,欢迎你!

Thanks in Advance

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

  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')作为getline()分隔符