注册 登录
编程论坛 C++教室

我在C++中用C代码操作文件将文件中的内容加到自己定义的结构体中,但是我的结构体中的成员变量都是string型的

yangcaifei 发布于 2016-01-13 11:00, 1914 次点击
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):";
}
3 回复
#2
yangcaifei2016-01-13 11:01
这是我的StructNode
struct DataNode
{
    string SNumber;
    string SName;
    string Sex;
    string Date;
    string Political;
    string Link;
    string Address;
};
#3
rjsp2016-01-13 11:12
不可以 read(node,sizeof(DataNode),1,file),这太扯蛋了
#4
yangcaifei2016-01-13 11:31
回复 3楼 rjsp
什么意思,能说清楚点吗?
1