Xambey Asked:2020-08-11 22:48:55 +0000 UTC2020-08-11 22:48:55 +0000 UTC 2020-08-11 22:48:55 +0000 UTC 字符串和终止空 772 我面临使用 Huffman 方法归档文件的任务,我在二进制模式下工作,有时文件中有一个终止空字符,这导致使用 string 出现问题。 问题:是否有可能以某种方式让 string 认为它只是一个字符?如果是这样,如何?而且它非常不愿意受 Cish 字符数组的影响 c++ 1 个回答 Voted Best Answer Abyx 2020-08-12T00:56:18Z2020-08-12T00:56:18Z 将字节数组的长度传递给字符串构造函数: const char lit[] = "abc\0def"; std::string s(lit, sizeof(lit) - 1); // или std::string s(lit, lit + sizeof(lit) - 1); // но не // std::string s(lit); 但是,字符串不是字节数组的最合适类型,最好使用std::vector<std::uint8_t>or gsl::span<std::uint8_t>。
将字节数组的长度传递给字符串构造函数:
但是,字符串不是字节数组的最合适类型,最好使用
std::vector<std::uint8_t>
orgsl::span<std::uint8_t>
。