[英]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.