我已經寫以下C代碼來從輸入文件中讀取5點的整數的整數:錯誤而讀取下使用的fread
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *fp;
unsigned *ch;
unsigned i,n=5;
ch=(unsigned*)malloc(n*sizeof(unsigned));
fp=fopen("input","r");
fread(ch ,sizeof(unsigned),n,fp);
fclose(fp);
for(i=0;i<n;i++)
printf("\n%u ",ch[i]);
free(ch);
return 0;
}
輸入文件是:
1 2 3 4 58
但輸出I我得到的是:
540155953
540287027
14389
0
0
請幫我。
您對數據存儲方式存在根本的誤解。你有一個文本文件。這意味着數據以ascii字符形式存儲。所以你不能把它們看成整數。 – kaylum
作爲文本閱讀。例如(fp,「%u」,&ch [i]);' – BLUEPIXY
是不是可以使用fread函數讀取整數/雙精度變量文本文件? – noirritchandra