如何在Visual Studio 2022文本编辑器中查看空字符'\0'?
在Visual Studio 2022中查看含空字符('\0')的自定义格式文件问题
我正在自定义一种文件格式,格式示例如下:
<GameObjects> { <GameObject> { <int id> 0 <std::string name> GameObject0 <Transform> { <vec3 position> { 0, 0, 0 } <vec3 rotation> { 0, 0, 0 } <vec3 scale> { 1, 1, 1 } <quat orientation> { 0, 0, 0, 1 } <mat4 globalMatrix> { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 } <bool requiresUpdate> false <Transform parent> -1 } } }
我不想用\n作为读取std::string的分隔符,因为这会把换行符绑定成文件格式语法的一部分。于是我打算用\0(空字符)作为分隔符,但修改后生成的文件无法在Visual Studio 2022中打开,双击会报错。虽然记事本可以打开,空字符会显示为空白,但我更倾向于用功能更强的VS2022编辑器。
生成含\0文件的最简代码示例:
int main() { std::cout << "Program operating" << std::endl; std::string s; char c = '\0'; char delimiter = ':'; std::fstream fstream = std::fstream(); fstream.open("newfile.txt"); FileData fileData = FileData(fstream); std::ofstream ofstream = std::ofstream(); ofstream.open("newfile.txt"); ofstream << "{"; ofstream << '\0'; ofstream << "}"; ofstream.close(); fstream >> c; fstream >> c; fstream >> c; fstream.close(); std::cout << "Program terminated" << std::endl; }
请问有没有办法在Visual Studio的文本编辑器中查看\0(空字符)?
解决方法
使用二进制编辑器打开:
在VS中通过菜单栏文件->打开->文件,选中目标文件后,点击打开按钮旁的下拉箭头,选择打开方式,再选二进制编辑器。二进制编辑器会显示所有字节,\0会以00的形式呈现,能清晰看到空字符的位置。替换分隔符(可选):
如果不想依赖二进制编辑器,可以改用ASCII控制字符作为分隔符,比如\x1E(记录分隔符)。这类字符不会被VS文本编辑器当作文件终止符,会显示为特殊符号,同时也不会和普通文本内容冲突,避免文件无法打开的问题。
内容的提问来源于stack exchange,提问作者Christopher Barrios Agosto
相关产品推荐
相关产品推荐

