在C ++中使用类对象编写时txt文件中的未识别文本

时间:2018-04-21 15:11:13

标签: c++ file-handling

当我使用类对象将数据输入到文本文件中时,文本文件显示一些奇怪的文本而不是我输入的数据。 我输入了“Flash”和100,但文本文件显示了一些奇怪的文字。link to snap of text file 。 有什么帮助吗?

#include<iostream>
#include<fstream>
using namespace std;

class Details
{
        string name;
        int roll;
    public:
        void get();
};
void Details::get()
{
    cout<<"Enter name : ";
    cin>>name;
    cout<<"Enter Roll No. : ";
    cin>>roll;  
}  

int main()
{
    Details obj;
    ofstream fout;
    fout.open("newdetails.txt",ios::app);
    obj.get();
    fout.write((char *)&obj,sizeof(obj));
    fout.close();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

您正在编写file in binary format - 它不会在普通文本编辑器中生成人类可读的文本。

要以人类可读的文本格式编写文件,请使用以下内容:

fout << obj.name << ' ' << obj.roll << '\n';

我在一小时前回答了一个非常相似的问题 - 请阅读该问题和我的答案,以了解有关此问题的更多信息here