在向量中存储两个间隔字符串<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 保持为空。
请建议一种正确执行相同程序的方法
或者
如果您知道更有效的方法,那么欢迎您
提前致谢
每个句子分别使用getline
和istringstream
,然后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()
.
最近遇到一个问题 但在此之前我会告诉你参考是什么
考虑这个程序
#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 保持为空。
请建议一种正确执行相同程序的方法 或者 如果您知道更有效的方法,那么欢迎您
提前致谢
每个句子分别使用getline
和istringstream
,然后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()
.