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

How to read file lines and store them? C++

本文关键字:存储 C++ 文件 何读取 读取      更新时间:2023-10-16

到目前为止,我能够打开一个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. Tim 24男
  2. John 25男

使用类别

    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
        }
    };

现在在您的主函数中,使用write函数

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函数。