gpt4 book ai didi

c++ - 在 getline() 之后获取字符串

转载 作者:行者123 更新时间:2023-11-30 03:24:45 25 4
gpt4 key购买 nike

我想保存一个带空格的字符串,因此我使用了 getline() 但在它之后我想得到另一个字符串(没有空格)如果有 -e例如,它后面的字符串在 s2 中,但是由于在我的代码中我在使用 getline() 时丢失了破折号,我似乎无法实现我正在尝试的去做。任何建议都会非常有帮助。

//example input: -f name -b blah blah -e email
//looking for output:
//name
//blah blah
//email


string s,s1,s2;
char check_character;

while (cin.peek() != '\n')
{
if (cin.get() == '-')
{
check_character = cin.get();
switch(check_character)
{
case 'f':
cin >> s;
break;
case 'b':
if(cin.peek() != '\n')
getline(cin, s1, '-');
else if(cin.peek() =='\n')
getline(cin, s1);
break;
case 'e':
cin>> s2;
break;
}
}
}
cout << s << endl << s1 << endl << s2 << endl;
return 0;

最佳答案

更好的选择是对 getline() 进行一次调用,然后解析“命令”字符串。实现这一点有很多选择,从简单的 split() on "-"或 find('-')

关于c++ - 在 getline() 之后获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49534197/

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