| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1412 人关注过本帖
标题:fscanf()的问题
只看楼主 加入收藏
蓝夕
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-10-15
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:6 
fscanf()的问题
用fscanf()读取文件时,文件有146行
#include<stdio.h>
#include<stdlib.h>
struct info{
    double x;
    double y;
    double d;
    double toa;
}agent[146];
void main()
{
    FILE *fp;
    int i;
    int d_agent[146],toa[146];
    fp=fopen("C:\\agent_pos.txt","r");
    if(fp==NULL)   
    {
        printf("cannot opent the file \n");
        exit(0);
    }
    for(i=0;i<146;i++)
    {
        fscanf(fp,"%lf,%lf,%lf,%lf\n",&agent[i].x,&agent[i].y,&d_agent[i],&toa[i]);
        printf("%lf,%lf\n",agent[i].x,agent[i].y);
    }
    fclose(fp);
}
为什么最后一行读不出来呢?请大家指教。
搜索更多相关主题的帖子: fscanf 
2010-10-17 12:06
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:20 
程序代码:
#include<stdio.h>
#include<stdlib.h>
struct info{
    double x;
    double y;
    double d;
    double toa;
}agent[146];
void main()
{
    FILE *fp;
    int i;
    double d_agent[146],toa[146];           //换为double型
    fp=fopen("C:\\agent_pos.txt","r");
    if(fp==NULL)   
    {
        printf("cannot opent the file \n");
        exit(0);
    }
    for(i=0;i<146;i++)
    {
        fscanf(fp,"%lf%lf%lf%lf",&agent[i].x,&agent[i].y,&d_agent[i],&toa[i]);  //最后把逗号去掉
        printf("%lf,%lf\n",agent[i].x,agent[i].y);
    }
    fclose(fp);
}

把逗号去掉了,读取的txt文档数据就可以这么写了 2 3 4 5
                                              3 4 5 6
                                              6 7 8 9
                                              ……
数与数之间不需要用 逗号分开!


If You Want Something, Go Get It, Period.
2010-10-17 12:28
蓝夕
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-10-15
收藏
得分:0 
回复 2楼 m21wo
还是不行啊
2010-10-17 12:40
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
我的电脑上运行很好啊!你看你的数据是不是有问题啊

If You Want Something, Go Get It, Period.
2010-10-17 13:12
蓝夕
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-10-15
收藏
得分:0 
回复 4楼 m21wo
恩,好了,就是double的问题,谢谢你
2010-10-17 13:20
yin1xin
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-5-10
收藏
得分:0 
fscanf 里的格式要取决于你文件中数据的格式,数据之间是逗号就写逗号,是空格就写空格,必须一模一样。。既然前面的行能读就最后一行不能读,那可能是最后一行的数据格式与前面有不同。。。。
2010-10-17 13:38
yin1xin
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-5-10
收藏
得分:0 
fscanf 里的格式要取决于你文件中数据的格式,数据之间是逗号就写逗号,是空格就写空格,必须一模一样。。既然前面的行能读就最后一行不能读,那可能是最后一行的数据格式与前面有不同。。。。
2010-10-17 13:41
快速回复:fscanf()的问题
数据加载中...
 
   



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

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