Python如何將C++結(jié)構(gòu)體數(shù)據(jù)保存為二進制文件
1.前言
如題所述,本文將介紹 Python 和 C++ 之間的數(shù)據(jù)交互問題。我們的目標是,在 Python 中將結(jié)構(gòu)性數(shù)據(jù)保存為二進制文件,然后在 C++ 中將二進制文件數(shù)據(jù)加載到結(jié)構(gòu)體,直接就可以使用,不需要再進行其他的數(shù)據(jù)轉(zhuǎn)換。
2.在 Python 中將結(jié)構(gòu)性數(shù)據(jù)保存為二進制文件
作為測試,這里我們使用的結(jié)構(gòu)性數(shù)據(jù),其數(shù)據(jù)結(jié)構(gòu)如下:
通過下面的代碼,即可將上述結(jié)構(gòu)性數(shù)據(jù)保存為二進制文件“data.bin”:
運行結(jié)果如下圖所示:

3.在 Python 中將二進制文件解析出來,驗證數(shù)據(jù)是否正確
上面我們將結(jié)構(gòu)性數(shù)據(jù)保存為了二進制文件,那么在 python 中我們?nèi)绾螌⒍M制文件解析成結(jié)構(gòu)性數(shù)據(jù)呢?至少我們得驗證一下保存的文件是否正確。
完整的代碼如下:
程序運行結(jié)果如下圖所示(可以看到,數(shù)據(jù)與我們保存進去的是一致的):

4.在 C++ 中讀取二進制文件,直接加載到結(jié)構(gòu)體
在前言中我們提到,我們的目的就是在 C++ 中直接將 Python 保存的二進制數(shù)據(jù)加載到結(jié)構(gòu)體進行使用,不需要再做額外的數(shù)據(jù)轉(zhuǎn)換。那么,該如何做呢?請看下面的完整代碼:
程序運行效果,如下圖所示:

可以看到,我們在 C++ 中讀取二進制數(shù)據(jù)后,直接加載到結(jié)構(gòu)體中,最終顯示出來的正是我們預期的數(shù)據(jù)。
6.結(jié)語
至此,關于在 Python 中如何將 C++ 結(jié)構(gòu)體數(shù)據(jù)保存為二進制文件的介紹就結(jié)束了,希望對大家能有所幫助。如果覺得不錯的話,可以幫忙點個贊哦。