[英]how to read and write a struct to file use C#?
我可以使用write(&stName,sizeof(stName),&FileName)並在其他程序中定義一個相同的結構來讀取文件(XXX.h),當我使用C時,但我想做同樣的使用C#而我不應該使用不安全的模式。 怎么解決這個問題?
編輯:
謝謝大家。 我會嘗試一下
編輯:
現在,如果我想使用C將struct寫入file.h並使用C#從file.h讀取結構,我是否有機會解決這個問題而不計算偏移量? 因為當我想在結構中添加一些變量或其他結構時,計算偏移量不是一個好的答案。
一般來說,請查看ISerializable接口和序列化。
你應該看一下NetDataContractSerializer 。 您可以標記希望序列化的結構部分,並使用文件流將其寫出。
使用托管C ++或C ++ / CLI。 它可以讀取你的.h文件結構。 它可以使用以下方式讀寫:
read(in, &structure, sizeof(structure));
write(out, &structure, sizeof(structure));
它可以非常簡單地將數據傳輸到.NET中的任何其他內容。
您必須使用Bitconverter.convert()單獨轉換結構的每個成員。 當struct包含數值數據類型時,這很有效,但在使用包含更復雜數據類型(如字符串,數組和集合)的結構時,可能必須執行更復雜的操作。 出於這種目的,您需要查看其他人提到的.Net序列化工具。
您也可以查看Google協議緩沖區 。 您可能不希望在代碼中添加另一個依賴項,但這意味着允許您執行此類操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.