讀取bin檔案,並且按結構體賦值列印

2021-09-08 08:58:07 字數 608 閱讀 5510

目標:讀取乙個bin檔案,並且將bin檔案中的資料,按位元組對齊賦值給結構體,並且列印出結構體的內容

目前思路是簡單的先將bin檔案資料一次性讀到乙個陣列中,再將陣列強制轉換為結構體

char buff[256

] file *fp;

fp =null;

fp = fopen(ar**[1], "rb"

);

if (null ==fp)

fread(buff,

1, 256

, fp);

struct a a = (struct a) buff;

另外,在部落格看到乙個輸出結構體的demo,貼在這裡

只需要傳入要列印結構體的結構體指標和結構體大小,就可以進行列印,且可以控制一行列印的位元組數和位元組與位元組之間是否需要留乙個空格

void print_struct_content(void *strp, size_t size)

}}

參考:

posted @

2018-12-03 16:50

小時候挺菜 閱讀(

...)

編輯收藏

VC 2010讀取BIN檔案

最近在弄stm32更新韌體的上位機,記錄一下碰到的問題點 unsigned long nfilebytes 用於儲存bin檔案總位元組數 unsigned char abinbyte 65536 用於儲存從bin檔案獲取的資料 file pfile wfopen s pfile,strfilepat...

按行讀取檔案

const string strurlfilename testurl.txt ifstream fin strurlfilename.c str fstream binary if fin fin.eof string serverurl getline fin,serverurl info lo...

c讀取按行讀取檔案

c中沒有getline 這個函式,該函式只存在於c 中。有些人說用gets,但是這個函式是不安全的,gets不知道字串的大小,容易造成溢位的問題。解決方案,使用fgets函式 其關鍵在於在讀出n 1個字元之前,如遇到了換行符或eof,則讀出結束。因此,通過設定適當大小的緩衝區,即可實現讀取一行的功能...