Danny_lh 2020-03-18 17:20 采纳率: 100%
浏览 464
已采纳

c++和c语言的结构体是不是兼容的

如题,想知道用c语言和c++语言在结构体上的兼容性,也就是说我如果用c语言储存一个结构体并用二进制形式写入文件,用c++成员相同的结构体读取能不能正确读取?

我在Linux下GNU编译器下测试了一个简单程序,结构体只包括数据成员没有对象成员和函数成员,都是int 和 long和char数组之类的,发现c存储到文件的结构体调用系统接口open write 和read 在c++下用相同成员的结构体读取正确,我想知道是不是所有编译器和系统下处理都相同?

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-03-18 19:09
    关注

    不同的编译器的结构体都不兼容。c++和c语言显然不是一个编译器,当然不能保证了。
    c/c++语言的规范里并没有规定结构体的内存布局的标准。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问下这个红框里面是什么文档或者记事本编辑器
  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179