我正在尝试计算存储在字符串中的文件中一行开头的空格 ' '
。
问题是我不知道如何告诉 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/