标题:我在C++中用C代码操作文件将文件中的内容加到自己定义的结构体中,但是我的 ...
只看楼主
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
结帖率:84%
已结贴  问题点数:100 回复次数:3 
我在C++中用C代码操作文件将文件中的内容加到自己定义的结构体中,但是我的结构体中的成员变量都是string型的
void LoadFile(ManagementSystem& Management,FILE* file)
{
    string filename;
    char flag;
    cout<<"输入文件路径名:";
    cin>>filename;
    file = fopen(filename.c_str(),"rb");
    if(file == NULL)
    {
        cout<<"文件未存在,是否创建(y/n)";
        cin>>flag;
        if(flag == 'Y' || flag == 'y')
        {
            file = fopen(filename.c_str(),"wb");
        }
        else
        {
            system("cls");
            Menu();
            return ;
        }
    }
    cout<<"文件已打开,正在导入......"<<endl;
    int Size = 0;
    while(!feof(file))
    {
        DataNode* node = new DataNode;
        if(fread(node,sizeof(DataNode),1,file))
        {
            cout<<node->SNumber<<endl;
            //Management.Insert(node);
            Size++;
        }
    }
    fclose(file);
    cout<<"文件导入成功,导入"<<(Size)<<"条记录!";
    cout<<"请输入(1,2,3,4,5,6,7,8)选择(退出按0):";
}
2016-01-13 11:00
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
得分:0 
这是我的StructNode
struct DataNode
{
    string SNumber;
    string SName;
    string Sex;
    string Date;
    string Political;
    string Link;
    string Address;
};
2016-01-13 11:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:100 
不可以 read(node,sizeof(DataNode),1,file),这太扯蛋了
2016-01-13 11:12
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
得分:0 
回复 3楼 rjsp
什么意思,能说清楚点吗?
2016-01-13 11:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-461060-1-1.html




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

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