| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 928 人关注过本帖, 1 人收藏
标题:请教这样的文件可以按结构数组读取吗??
只看楼主 加入收藏
cz737
Rank: 2
等 级:论坛游民
帖 子:85
专家分:20
注 册:2010-7-7
结帖率:96.3%
收藏(1)
已结贴  问题点数:20 回复次数:14 
请教这样的文件可以按结构数组读取吗??
如题。。。
本地文件的部分内容如下。。。
RSXX1504,Zelenograd,Russia,56.0011111,37.2091667,+4
RSXX1505,Zvenigorod,Russia,55.7333333,36.8475,+4
RSXX1506,YoshkarOla,Russia,10000,10000,+0
RSXX1507,Apatity,Russia,67.5675,33.3936111,+4
RSXX1508,Kandalaksha,Russia,67.1572222,32.4119444,+4
RSXX1509,Kirovsk,Russia,67.6144444,33.6719444,+4
RSXX1510,Monchegorsk,Russia,67.9397222,32.8738889,+4
RSXX1511,Olenegorsk,Russia,68.15,33.3,+4

我定义了一个结构数组可是不知道怎么把她读取出来
搜索更多相关主题的帖子: 结构 文件 
2010-07-12 16:50
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
不行的,不过你可以fgets读取一行后再使用strtok把数据分隔开来再放入数组里

2010-07-12 17:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
把 "," 去掉, 就可以了,/

我就是真命天子,顺我者生,逆我者死!
2010-07-12 18:07
cz737
Rank: 2
等 级:论坛游民
帖 子:85
专家分:20
注 册:2010-7-7
收藏
得分:0 
以下是引用BlueGuy在2010-7-12 18:07:12的发言:

把 "," 去掉, 就可以了,/
去掉了要怎么读取呢。。。请斑斑指点一下。。最好说下怎么去掉“,”这个。。谢谢
2010-07-12 20:01
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
版主也信口开河啊, 字符串都不一样长怎么能按结构读呢?

2010-07-12 20:57
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 5楼 hao0716
确实没有验证过, 只是印象中有这样一种读法,/
我当时发了一帖, 然后又删了, 后来又加上了。
我试一下吧

我就是真命天子,顺我者生,逆我者死!
2010-07-13 08:40
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
不好意思, 的确不行, 得按照结构大小打成 二进制流 才可以按块读取。

我就是真命天子,顺我者生,逆我者死!
2010-07-13 09:00
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:10 
// blue.txt

/*
blue guy 100
green girl 200
*/

#include <stdio.h>

struct bgBook
{   
    char title[10];
    char author[20];
    int value;
};

int main (void)
{

    FILE * pFile;
    struct bgBook book[2] = {0};
    int i;

    pFile = fopen ("blue.txt","r");
    for (i = 0; i < 2; i++)
    {
        fscanf (pFile, "%s%s%d", book[i].title, book[i].author, &book[i].value);
    }
   
    for (i = 0; i < 2; i++)
    {
        printf("%s %s %d\n", book[i].title, book[i].author, book[i].value);   
    }
   
    return 0;
}

我就是真命天子,顺我者生,逆我者死!
2010-07-13 11:32
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
花5分钟写的程序, 却等了 5个小时才发出来,、、
很后悔不够沉着, 错过了一个有价值的帖子 ,/

我就是真命天子,顺我者生,逆我者死!
2010-07-13 11:33
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
- - 米事,lz还没来,不过fscanf这个我第一次知道...

2010-07-13 11:41
快速回复:请教这样的文件可以按结构数组读取吗??
数据加载中...
 
   



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

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