如何读取文件行并存储它们? C ++

时间:2014-11-06 11:38:25

标签: c++ char ifstream

到目前为止,我可以打开txt文件并将其存储为变量。

我的txt文件看起来像这样

Tim, 24, Male

我能够将它们存储为nameagegender

等变量

这是我的代码

ifstream inputfiles ("test.txt");
    if(!inputfiles.is_open())
    {

    }
    else
    {
        while(inputfiles >> name >> age >> gender)
        {
            cout << name << "\n";
            cout << age << "\n";
            cout << gender << "\n";
        }

但是,当我的txt文件看起来像这样时,我的代码不会将值存储为变量...

Tim
24
Male

如何修改我的代码,以便它可以逐行读取我的文件并将其存储在变量中?

1 个答案:

答案 0 :(得分:-1)

如果我是对的,你想把它存储起来:

  1. 蒂姆24男
  2. John 25 Male
  3. 使用课程

        class data
        {
            public:
            char name[10],gen;
            int age;
            void getdata()
            {
                cout<<"Enter Name";
                gets(name);
                cout<<Enter age";
                cin>>age;
                cout<<"enter gender";
                cin>>gen;
            }
            void putdata()//use cout statements here
            {
            //put cout statements
            }
        };
    

    现在在你的main函数中,使用write functon

    fstream f;
    f.open("YourFile.txt",ios::in|ios::out);    
    data r;    
    for(i=0;i<10;i++)
    {
        r.getdata();
        f.write((char*)&r,sizeof(r));
    }
    

    请记住,如果您使用了write,请始终使用read函数来打印数据库值。

    f.seekg(0,ios::beg);
    while(!f.eof())
    {
       f.read((char*)&r,sizeof(r));
    }
    

    如果你想在没有转换的情况下存储文本......请使用put函数。

相关问题