-1
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *buildingsptr;
int ptr2[8];
buildingsptr=fopen("buildings.txt","r");
fscanf(buildingsptr, "%d", &ptr2);
printf("%d", ptr2);
getch();
return 0;
}
我有一個更大的代碼,我發現這部分導致了這個問題。 「buildings.txt」文件有一些整數,比如24或7,我只想打印第一個數字的文本,但是這個代碼給了我一個像2293296的數字,我是編碼方面的新手,所以我不能解決我的問題,如果你能幫助我,我將不勝感激。 :)fscanf與陣列的使用
非常感謝你,我解決了它。但是如果您有時間回答,我還有一個問題,我將使用malloc而不是數組,我從.txt文件中獲取這些整數,然後將這些數字發送給由malloc實現的指針,然後我想訪問malloc分配的那部分內存。我記得一些我可以使用帶有內存部分頭部地址的指針作爲數組。例如,'ptr2 =(int *)malloc(a * sizeof(int))';然後'fscanf(buildingsptr,「%d」,ptr2)';我怎樣才能將我的號碼打印到屏幕上?我嘗試了一個「for」循環,比如ptr [i],但我失敗了。 – user3648312
用'printf(「%d \ n」,* ptr2)打印;' – pmg
@ user3648312不是從malloc開始:'ptr2 = malloc(a * sizeof * ptr2);'自從不使用大腦以來,人們一直在複製粘貼。另外,您可以像訪問另一個一樣訪問該數組:'ptr2 [n]'訪問從'0'索引的第n個元素。 –