gpt4 book ai didi

c++ - 在 std::getline() 上使用任何字符作为分隔符

转载 作者:行者123 更新时间:2023-11-30 05:10:29 35 4
gpt4 key购买 nike

我正在尝试计算存储在字符串中的文件中一行开头的空格 ' ' 。问题是我不知道如何告诉 std::getline() 在找到任何不同于 ' ' 的字符时停止。

std::getline(file_input, string_target, 'Any_character_except_space');

最佳答案

您不能使用除空格以外的任何字符 作为std::getline() 的分隔符, 没有一个签名允许这样做。

例如,您可以做的是:

std::string line;
std::getline(file_input,line);
auto pos = std::find_if_not(std::begin(line),std::end(line),[](char c) {
return std::isspace(c);
// or c == ' '
// or whatever condition you need
} );
size_t space_count = std::distance(std::begin(line),pos);

这是一个 full example .

关于c++ - 在 std::getline() 上使用任何字符作为分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45665482/

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