读书人

一到相干文件的题目

发布时间: 2013-04-02 12:35:26 作者: rapoo

一到有关文件的题目
while(!feof(file1))
{
i++;
fread(&number[i],sizeof(int),2000,file1);
printf("%4d\n",number[i]);
printf("%d",i);
}
我得目的是从1.txt中读取数字存入在数组number中。
为什么打印出来的是跪求该怎么解决。是应该加上fseek函数吗?
[解决办法]
fread(&number[i],sizeof(int),2000,file1);
====》fread(&number[i],1,sizeof(int),file1);

这样才是每次读一个整形出来!!

你写的是 2000,就是文件足够大 最大一次读取2000,以每次读sizeof(int)大小
所有就有问题咯
[解决办法]


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int number[100] = {0};
char tmp;

int i;
FILE* file = fopen("1.txt", "r+");
if (file == NULL)perror("fopen:"), exit(-1);
while (!feof(file)) {
fread(&tmp, sizeof(tmp), 1, file);
if (tmp > '0')
number[i++] = tmp - '0';
}
printf("\n");

for (i = 0; i < 100; i++) {
printf("number[%d]=%d ", i, number[i]);
if ((i+1)%10 == 0)
printf("\n");
}
return 0;
}

读书人网 >C语言

热点推荐