gpt4 book ai didi

c++ - 在 C++ 中输入 - cin.getline

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:27 26 4
gpt4 key购买 nike

#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
int T;
char J[100], S[100];
int count=0;
cin >> T;

while(T--)
{
cin.getline(J,100);

cin.getline(S,100);
puts(J);
puts(S);

for(int i=0; J[i]!='\0'; i++)
{
for(int j=0; S[j]!='\0'; j++)
{
count++;
for(int k=j; S[k]!='\0'; k++)
S[k]=S[k+1];
break;
}
}
cout << count;
}
return 0;
}

我在 J,S 中获取输入字符串,但在程序执行期间它跳过了来自控制台 cin.getline 的第二个输入我接受测试用例然后接受字符串 J 和 S取 J 成功,取 S 字符串失败?

最佳答案

您需要使用字符串、std::string 并调用 getline

std::string s,j;
std::getline(std::cin,j);
std::getline(std::cin,s);

然后如果你想通过单个字符遍历字符串的内容

for(auto i = std::begin(s); i != std::end(s); ++i)
{
std::cout << *i << std::endl;
}

使用迭代器,并遵循它们以获得实际的字符值。尽可能远离 C 字符串。

关于c++ - 在 C++ 中输入 - cin.getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10509477/

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