首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一到相干文件的题目

2013-04-02 
一到有关文件的题目while(!feof(file1)){i++fread(&number[i],sizeof(int),2000,file1)printf(%4d\n,n

一到有关文件的题目
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;
}

热点排行