有没有办法自定义二进制编写器写入文件的方式,以便我可以从 C++ 程序读取文件?
例如:
myBinaryWriter.Write(myInt);
myBinaryWriter.Write(myBool);
在 C++ 中:
fread(&myInt, 1, sizeof(int), fileHandle);
fread(&myBool, 1, sizeof(bool), fileHandle);
编辑:据我所知,如果一个字符串的长度小到可以放入一个字节,那么它就是这样写的,如果我想用 C++ 读回它,这是不好的。
最佳答案
如果您想保证二进制兼容性,可能最简单的 c# 方法是放弃二进制编写器,只使用流自己写入字节。这样你就可以完全控制输出数据
另一种方法是创建一个可以使用 c++/cli 写入数据的程序集,这样您就可以从托管代码中获得与 c++ 的直接兼容性。
关于C# 二进制编写器自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485227/