![](/img/trans.png)
[英]Cannot copy contents of buffer into string: reading from .bin file in 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.