簡體   English   中英

從bin文件的緩沖區中解析數據c

[英]Parse data from buffer of a bin file c

我有一個包含一些數據的bin文件,我可以讀取該數據並將其存儲在變量中。 問題是我不知道如何解析緩沖區中的數據。

FILE *file;
char *buffer;

//Abre o ficheiro
file = fopen("retail.bin", "rb");
if (!file)
{
    printf("Erro ao abrir %s\n", "retail.bin");
    return;
}

//Lê o conteúdo do ficheiro
while(fread(&buffer, sizeof(int), 1, file) == 1){
    printf("%d", buffer);
}

fclose(file);

輸出:53324477812552451219223312232012122211305213462334644247717440148531711811913243 34437515052573583

我想要的是能夠分別訪問每個號碼。 我試過: printf("%s", buffer[0]);

但該計划停止工作。

你有幾個問題。 第一個是你將指針傳遞給指向fread的指針。 另一種是你將一個整數讀入一個char緩沖區,即一個字符串。 第三個是buffer未分配並指向內存中的隨機位置。 第四是你將一個“字符串”打印為整數。

如果要讀取整數,則將其讀入整數:

int value;
fread(&value, sizeof(value), 1, file);
printf("%d", value);

暫無
暫無

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

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