C++ 字符串未存储在向量中? #包括 #包括 使用名称空间std; int main() { 字符串n,m; 矢量叮咚; cin>>n; 叮咚。推回(n); cin>>m; 定东。推回(米); 对于(int i=0;i

C++ 字符串未存储在向量中? #包括 #包括 使用名称空间std; int main() { 字符串n,m; 矢量叮咚; cin>>n; 叮咚。推回(n); cin>>m; 定东。推回(米); 对于(int i=0;i,c++,vector,push-back,C++,Vector,Push Back,“为什么会发生这种情况,以及如何使整个字符串(包括空格)存储?” 要从输入中获取多个单词,您应该使用 #include <iostream> #include <vector> using namespace std; int main() { string n, m; vector <string> dingdong; cin >> n; dingdong.push_back(n); cin >

“为什么会发生这种情况,以及如何使整个字符串(包括空格)存储?”

要从输入中获取多个单词,您应该使用

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    string n, m;
    vector <string> dingdong;

    cin >> n;
    dingdong.push_back(n);
    cin >> m;
    dingdong.push_back(m);

    for (int i = 0; i <2; i ++) {
        cout << dingdong[i];
    }


    return 0;
}
而不是

std::getline(cin,n);
默认情况下,空格用作分隔符,因此每次调用
std::istream
operator>
将只存储读取到下一个空格字符的文本


请查看程序的完全固定版本


另外,如果您真的想逐字读入
向量
,可以使用循环

std::cin >> n;
字符串字;
矢量叮咚;
while(cin>>word){
if(word.empty){
打破
}
叮咚。推回(字);
}
然后像这样打印出来

string word;
vector <string> dingdong;
while(cin >> word) {
    if(word.empty) {
        break;
    }
    dingdong.push_back(word);
}
for(int i=0;i
要从输入中获取多个单词,您应该使用

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    string n, m;
    vector <string> dingdong;

    cin >> n;
    dingdong.push_back(n);
    cin >> m;
    dingdong.push_back(m);

    for (int i = 0; i <2; i ++) {
        cout << dingdong[i];
    }


    return 0;
}
而不是

std::getline(cin,n);
默认情况下,空格用作分隔符,因此每次调用
std::istream
operator>
将只存储读取到下一个空格字符的文本


请查看程序的完全固定版本


另外,如果您真的想逐字读入
向量
,可以使用循环

std::cin >> n;
字符串字;
矢量叮咚;
while(cin>>word){
if(word.empty){
打破
}
叮咚。推回(字);
}
然后像这样打印出来

string word;
vector <string> dingdong;
while(cin >> word) {
    if(word.empty) {
        break;
    }
    dingdong.push_back(word);
}
for(int i=0;i
要从输入中获取多个单词,您应该使用

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    string n, m;
    vector <string> dingdong;

    cin >> n;
    dingdong.push_back(n);
    cin >> m;
    dingdong.push_back(m);

    for (int i = 0; i <2; i ++) {
        cout << dingdong[i];
    }


    return 0;
}
而不是

std::getline(cin,n);
默认情况下,空格用作分隔符,因此每次调用
std::istream
operator>
将只存储读取到下一个空格字符的文本


请查看程序的完全固定版本


另外,如果您真的想逐字读入
向量
,可以使用循环

std::cin >> n;
字符串字;
矢量叮咚;
while(cin>>word){
if(word.empty){
打破
}
叮咚。推回(字);
}
然后像这样打印出来

string word;
vector <string> dingdong;
while(cin >> word) {
    if(word.empty) {
        break;
    }
    dingdong.push_back(word);
}
for(int i=0;i
要从输入中获取多个单词,您应该使用

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    string n, m;
    vector <string> dingdong;

    cin >> n;
    dingdong.push_back(n);
    cin >> m;
    dingdong.push_back(m);

    for (int i = 0; i <2; i ++) {
        cout << dingdong[i];
    }


    return 0;
}
而不是

std::getline(cin,n);
默认情况下,空格用作分隔符,因此每次调用
std::istream
operator>
将只存储读取到下一个空格字符的文本


请查看程序的完全固定版本


另外,如果您真的想逐字读入
向量
,可以使用循环

std::cin >> n;
字符串字;
矢量叮咚;
while(cin>>word){
if(word.empty){
打破
}
叮咚。推回(字);
}
然后像这样打印出来

string word;
vector <string> dingdong;
while(cin >> word) {
    if(word.empty) {
        break;
    }
    dingdong.push_back(word);
}
for(int i=0;icout如果我将字符串“word”传递到类函数中,我将如何处理它。我有:string aboutwhat;cout@Jahaha这是一个不同的问题。你可以问另一个问题。但一般来说,你有一些函数签名,如
void foo(const std::string&word);
void foo(std::string&word)
;取决于您是否需要更改参数。如果要将字符串“word”传递到类函数中,我将如何进行。我有:string aboutwhat;cout@Jahaha这是另一个问题。您可以问另一个问题。但一般来说,您有一些函数签名,如
void foo(const std::string&word);
,或
void foo(std::string&word)
;取决于您是否需要更改参数。如果要将字符串“word”传递到类函数中,我将如何操作。我有:string aboutwhat;cout@Jahaha这是一个不同的问题。您可以问另一个问题。但一般来说,您有一些函数签名,如
void foo(const std::string和word);
,或
void foo(std::string和word)
;取决于您是否需要更改参数。如果要将字符串“word”传递到类函数中,我将如何进行。我有:string aboutwhat;cout@Jahaha这是另一个问题。您可以问另一个问题。但一般来说,您有一些函数签名,如
void foo(const std::string&word);
,或
void foo(std::string&word)
;取决于是否需要更改参数。