| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1034 人关注过本帖
标题:FILE 读入结构体数据
只看楼主 加入收藏
zvc
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-5-10
收藏
 问题点数:0 回复次数:1 
FILE 读入结构体数据
以下是代码,但是读入文本数据后输出的却是乱码,请高手指点一下,
那个文本我就不上传了:
建一个txt文件命名为"students.txt"
里面输入几行学生信息如:
周星星    22  2061121101  
李甜甜    22  2061121102
丘嘲     22  2061121121



#include<stdio.h>
#include<iostream.h>
////////////////////////////
typedef struct st{
    char name[10];
    char sex[5];
    int age;
    int num;
}st;
//////////////////////////
class Data{
public:
    Data *next;
    st data;
};
///************main
void main()
{   
    Data *L,*q;
    Data *p;
    L=new Data;
    q=L;
    q->next=0;
    //读入数据
    FILE *fp;
    if((fp=fopen("students.txt","r"))==0)
    {
        cout<<"cannot open students.txt";
        return;
    }

    for(int i=0;!feof(fp);i++)
    {   p=new Data;
        fread(p,sizeof(st),1,fp);
        p->next=q->next;
        q->next=p;
        q=p;
    }
    //输出数据
    Data *s=L->next;
    while(s)
    {
    cout<<s->data.name<<" ";
    cout<<s->data.sex<<" ";
    cout<<s->data.age<<" ";
    cout<<s->data.num<<" ";
    cout<<endl;
    s=s->next;
    }
    fclose(fp);
}
搜索更多相关主题的帖子: 结构体 FILE 数据 
2008-06-11 16:52
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
这个是C++额,为什么不用ifstream呢?那个应该比你用fopen好多了。
如果txt里面有中文的话要注意一下保存文件的编码格式,某些编码方式C++可能会不认识。
2008-06-11 19:53
快速回复:FILE 读入结构体数据
数据加载中...
 
   



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

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