gpt4 book ai didi

c++ - 带分隔符的getline

转载 作者:行者123 更新时间:2023-11-30 02:51:58 24 4
gpt4 key购买 nike

在固定数组上使用 getline 循环的正确方法是什么?如果在读取字符 block 中找不到定界符,则以下循环将停止。

char data[4];
while (cin.getline(data, 4, '.'))
{
...
}

会导致循环失败的示例数据:

asdasdasdasd.asdasdasd

最佳答案

“在固定数组上使用 getline 循环的正确方法是什么?”

  • 第 1 步:不要使用 C 风格的 char 数组
  • 第 2 步:不要依赖对您的程序有怜悯的输入

可能的解决方案:

std::string token;
while (std::getline(std::cin, token, '.')) {
if (token.empty()) {
// TODO
continue; // ?
}
if (token.size() == 4) {
// TODO
}
else {
// TODO
}
}

关于c++ - 带分隔符的getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349721/

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