gpt4 book ai didi

c++ - 在 C++ 中,getline() 不是读取字符串的所有字母,而是一个接一个地接受多个字符串

转载 作者:行者123 更新时间:2023-11-27 23:50:22 24 4
gpt4 key购买 nike

#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t; //Number of test cases
while(t--){
cin.ignore();
string s;
getline(cin,s);
cout<<s<<endl;
}
return 0;
}

输入:

2
AMbuj verma
Aaaa bBBB
Bm Chetan

输出:

AMbuj verma
aaa bBBB
m Chetan

上面的程序没有读取字符串的第一个字符。

这是我得到的输出。

我也用过cin.ignore()

最佳答案

您需要做的是将 cin.ignore() 带出您的 while 循环,因为每次您的循环工作时,它都会获取字符串的第一个字母.

    cin>>t; //Number of test cases
cin.ignore();
while(t--){

string s,a;
getline(cin,s);
cout<<s<<endl;
}

最后,当您的代码中没有使用 string a 时,为什么要编写 string s, a

关于c++ - 在 C++ 中,getline() 不是读取字符串的所有字母,而是一个接一个地接受多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46913360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com