簡體   English   中英

從二進制/隨機訪問文件讀取數據

[英]Reading data from a Binary/Random Access File

我有一個二進制格式的文件,其中包含大量數據。

如果我了解文件結構,如何從二進制文件中讀取信息,並填充這些結構的記錄?

數據很復雜。

我想用Qt來做,但是如果需要的話,我也可以用C ++來做。

謝謝你的幫助..

如果二進制文件確實很大,那么如果通過低級讀取功能http://crasseux.com/books/ctutorial/Reading-files-at-a-low可以提供足夠的RAM,則最好將其加載為(char *)數組。 -level.html ,然后可以對其進行解析。

但這只會幫助您加載大文件,而不是解析復雜的結構。

不確定,但是您也可以看看yacc。

聽起來yacc並不是解決方案,他不是要解析文件,而是想將二進制格式的數據讀取到數據結構中。

您可以讀取數據,然后將其映射到與格式匹配的結構。 如果數據很復雜,則可能需要根據數據布局的工作方式以各種方式在其上放置結構。 因此,基本上將文件讀入char *或,然后選擇結構開始的元素,將該元素轉換為指向結構的指針,然后訪問該元素。 沒有更多細節,不可能比這更具體。

http://courses.cs.vt.edu/~cs2604/fall00/binio.html將為您提供幫助。 我從那里學到了。 (提示總是將數據轉換為(char *))。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM