gpt4 book ai didi

c++ - 如何从字符串中去除非 ASCII 字符?在 C++ 中

转载 作者:搜寻专家 更新时间:2023-10-31 01:56:34 25 4
gpt4 key购买 nike

如何从字符串中去除非 ASCII 字符?

我想知道我们如何在 C++ 中实现这一点

最佳答案

也许是这样的:

struct InvalidChar
{
bool operator()(char c) const {
return !isprint(static_cast<unsigned char>(c));
}
};

std::string s;
HypoteticalReadFileToString(&s);
s.erase(std::remove_if(s.begin(),s.end(),InvalidChar()), s.end());

为 erase-remove 习语定义一个可重用的函数会更好

template <typename C, typename P> 
void erase_remove_if(C& c, P predicate) {
c.erase(std::remove_if(c.begin(), c.end(), predicate), c.end());
}

...

erase_remove_if(s, InvalidChar());

关于c++ - 如何从字符串中去除非 ASCII 字符?在 C++ 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6911700/

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