C# 二进制编写器自定义

标签 c# c++ binary writer

有没有办法自定义二进制编写器写入文件的方式,以便我可以从 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/

相关文章:

c++ - 哪些类型是可简单构造的?

C++ 析构函数示例

go - 在 Go 中将十六进制数转换为二进制数并能够访问每一位

c++ - 我继承了一个使用私有(private)的构造函数,为什么我仍然可以从主函数访问它?

c# - Linq2SQL:事务涵盖了SubmitChanges?

c# - 如何在 gridview 中显示余额日志

c# - Visual Studio MVC 5 显示错误但编译和运行正常

java - 合并两个二叉树

java - 将原始二进制文件写入 java 文件

c# - 在不超过一个值的情况下随机化值?