跳至主要内容

在console打印字符串中乱码的解决方法

std::string safeprint(const std::string &str) {
    std::string ret;
    for (int i = 0; i < str.length(); ++i) {
        unsigned char byte = str[i];
        if ((byte >= 32 && byte <= 126) || ispunct(byte)) {
            ret += byte;
        } else {
            ret += "\\" + std::to_string(byte);
        }
    }
    return ret;
}

评论

此博客中的热门博文