我已经写以下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