| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:文件读入问题
只看楼主 加入收藏
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:10 
文件读入问题
我想从temp.dat读入数据 并显示出来,代码如下
#include<stdio.h>
#include<stdlib.h>
#define N 5845
int main()
{
    FILE *fp;
    char id[10];
    float x,y,z;
    int i;
    if((fp=fopen("D:\\temp.dat","r"))==NULL)
    {puts("ERROR!");exit(0);}
    for(i=0;i<N;i++)
    {
    fscanf(fp,"%s,,%f,%f,%f",id,&x,&y,&z);

    printf("%-10s%-10f%-10f%-10f\n",id,x,y,z);
    }
    fclose(fp);
    system("pause");
    return 0;
}


部分temp.dat如下
18x,,479624.053,3887575.820,68.547
08x,,479951.287,3888952.201,72.745
E1,,480088.803,3888731.292,76.387
E2,,480082.324,3888730.861,76.495
E3,,480073.485,3888726.782,76.411
E4,,480074.825,3888731.402,76.823
E5,,480068.179,3888727.497,76.324
E6,,480060.785,3888722.037,75.839
E7,,480050.528,3888717.016,75.593
E8,,480042.342,3888714.512,75.421
E9,,480030.712,3888710.879,75.806
错误内容:提示内存错误,但不懂,求详细解答 谢谢
搜索更多相关主题的帖子: return system include 
2015-04-01 11:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
你是宁愿别人调试好了再告诉你答案,还是自己学会求解的方法呢?

授人以渔,不授人以鱼。
2015-04-01 11:50
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:7 
你的temp.dat有多少数据?5845是够了还是超了?

总有那身价贱的人给作业贴回复完整的代码
2015-04-01 14:14
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:7 
回复 楼主 heso
程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef struct item {
    char id[10];
    double x, y, z;
} item;

void eatwords(FILE *fp);

int main(int argc, char **argv) {
    int rows = 1, c, i;
    item *a;
    FILE *fp = NULL;

    if(argc != 2) exit(EXIT_FAILURE);

    if(!(fp = fopen(argv[1], "r"))) exit(EXIT_FAILURE);

    while(!feof(fp))
        while((c = getc(fp)) != EOF) if(c == '\n') rows++;

    rewind(fp);

    if(!(a = malloc(rows * sizeof(item)))) exit(EXIT_FAILURE);

    for(i = 0; i < rows; i++) {
        fscanf(fp, "%[^,]%*c%*c%lf%*c%lf%*c%lf",
               a[i].id, &a[i].x, &a[i].y, &a[i].z);
        getc(fp);
        printf("%s %.1f %.1f %.1f\n",
               a[i].id, a[i].x, a[i].y, a[i].z);
    }

    fclose(fp);
    free(a);
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-04-01 22:52
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
收藏
得分:0 
回复 2楼 TonyDeng
我调试过几遍 由于初学 没找到问题所在 代码是自己写的 希望大神可以给我找出错误 能够教导我如何调试那就更感激不尽

[ 本帖最后由 heso 于 2015-4-3 10:45 编辑 ]
2015-04-03 10:39
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
收藏
得分:0 
回复 3楼 embed_xuel
有5845个
2015-04-03 10:39
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用heso在2015-4-3 10:39:00的发言:

你问我宁愿怎样 我的问题还不清楚吗! 不懂就不要留言 如果真心想帮助别人 你就帮 别弄出这样的留言 让人看着心烦

好的,我以后不会有任何留言给你。

授人以渔,不授人以鱼。
2015-04-03 10:42
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 6楼 heso
5845个数据还是5845行数据啊?

总有那身价贱的人给作业贴回复完整的代码
2015-04-03 10:43
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
收藏
得分:0 
回复 7楼 TonyDeng
好吧 我以为你可以没看到的 刚才心情不好 冲你了 先对不起 我自己在调试几遍吧
2015-04-03 10:48
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
收藏
得分:0 
回复 8楼 embed_xuel
5845行的
2015-04-03 10:48
快速回复:文件读入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045264 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved