Как читать строки файла и хранить их? C ++

0

Пока я могу открыть txt файл и сохранить их как переменные.

Мой txt файл выглядит так:

Tim, 24, Male

Я мог хранить их как переменные, такие как name, age, gender

Это мой код

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

Как мне изменить свой код, чтобы он мог читать мой файл по строкам и хранить его в своих переменных?

  • 2
    Это должно сделать. Он игнорирует пробелы, частью которых является символ новой строки.
  • 1
    Почему вы не поместили if if if(inputfiles.is_open()) и время внутри if, чтобы вы могли удалить else ?
Показать ещё 6 комментариев
Теги:
char
ifstream

1 ответ

-2

Если я прав, вы хотите сохранить его как:

  1. Tim 24 Мужской
  2. John 25 Male

Использовать класс

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

Помните, всегда используйте функцию чтения для печати значений базы данных, если вы использовали запись.

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

Если вы хотите сохранить текст, как без преобразования, используйте функцию put.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню