簡體   English   中英

在C中復制緩沖區的一部分

[英]Copy parts of a buffer in C

Gang,我在做什么錯,我想從文件中提取特定的偏移量+數據長度,然后將其復制到相同長度的已分配緩沖區中...

if( stru_ct->size != 0 ){
  unsigned char * s_buffer = malloc(stru_ct->size);
  if( !s_buffer ){
    printf( "Memory error!" );
    return -1;
    }

  fseek( file, wp->stru_ct->offset, SEEK_SET );
  fread( s_buffer, stru_ct->size, 1, file );
}

沒有編譯錯誤,讀取后s_buffer仍為0。 我知道偏移量+長度處有數據。

謝謝你的幫助!!

檢查fseek()fread()的返回值,以確保它們沒有失敗。 永遠不要假設您撥打的電話成功。

stru_ct->size不等於0? 為0似乎是您所看到的內容的最可能解釋。

暫無
暫無

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

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