caunewnew 发表于 2014-5-29 15:13:35

c++ 将结构体写入文件

初学者,求高手解答……
c++快速入门11的课后题,为什么文本文件中出现的是乱码呢?

struct FishOil{    string name;    string uid;    char sex;};

void RecordFishC()
{
    cout<<"请输入鱼c账号:"<<endl;
    FishOil Oil2;
    cin>>Oil2.name;
    cout<<"请输入鱼c身份证:"<<endl;
    cin>>Oil2.uid;
    cout<<"请输入性别:"<<endl;
    cin>>Oil2.sex;
    cout<<"录入成功,请问需要保存吗?(Y/N)"<<endl;
    char s;
    cin>>s;
    switch(s)
    {
    case 'Y':
      {
            FishOil *p2=&Oil2;
            ofstream out2;
            out2.open("FishOil.txt",ostream::binary);
            out2.write((char*)p2,sizeof(Oil2));
            out2.close();
      break;
      }
    case 'N':
      break;
    }
}

elvo 发表于 2014-5-30 10:48:07

你是使用的什么IDE?

caunewnew 发表于 2014-5-30 10:53:26

elvo 发表于 2014-5-30 10:48 static/image/common/back.gif
你是使用的什么IDE?

codeblocks...

elvo 发表于 2014-5-30 11:08:35

你这样改一下试试:
设置 -->编译器-->常规设置--> 其他设置中的encoding如下


页: [1]
查看完整版本: c++ 将结构体写入文件