Ryu*_*aki 3 c++ string vector cin
最近我遇到了一个问题但在此之前我会告诉你什么是参考
考虑这个计划
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<string> RS;
string word;
while(cin>>word)
RS.push_back(word);
}
Run Code Online (Sandbox Code Playgroud)
此代码将间隔字符串中的每个单词存储在向量中
但问题来了.....
#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);
}
Run Code Online (Sandbox Code Playgroud)
这里的动机是将第一行的字符串字存储在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);
}
Run Code Online (Sandbox Code Playgroud)
换行字符("\n")充当定界符为getline().
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |