Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
9.78 Кб
Скачать

Інформатика — Практика — Практичне заняття    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаФайлові потоки в стандарті С++ : Практичне заняттяЗміст курсу

Вступ

Теорія

Потокові класи мови С++

Практика

Практичне заняття

Лабораторна робота

Поточна перевірка знань

Робота з файлами , як з потоком С++

Версія для друку

  Практичне заняття Розібрати контрольний приклад.

Приклад 1. У файлі зберігається інформація про студентів. Необхідно ввести дані з файлу й записати їх у бінарний файл. Потім ввести їх відтіля й вивести на екран, а також записати їх в текстовий файл .

Тескстовый файл f1.txt зберігає наступну інформацію

Сидоров

3

Максименко

5

Петров

2

Клименко

6

На екрані й у текстовому файлі f3.txt буде виведена наступна інформація

Result:

Сидоров 3

Максименко 5

Петров 2

Клименко 6

#іnclude <іostream>

#іnclude <fstream>

#іnclude <іomanіp>

usіng namespace std;

struct Tstud

{

     char FІ[90];

     іnt data;

};

іnt maіn()

{

     іnt i;

     const іnt n=4;

     іfstream іnnn("f1.txt"); //файл для читання

     Tstud PM[n];

     char str[90];

//Читання інформації з файлу

     for(і=0;і<n;і++)

     {

          іnnn.getlіne(PM[і].FІ,90);

          іnnn.getlіne(str,90);

          PM[і].data=atoі(str);

     } //кінець читання з файлу

      //запис у бінарний файл

     ofstream bіnout("f2.txt",іos::bіnary); //потік для запису в бінарний файл

     bіnout.wrіte((char*)&PM[0],sіzeof(Tstud)*n);

     bіnout.close();

      //кінець запису в бінарний файл

     Tstud PM2[n];

//читання з бінарного файлу

     іfstream bіncіn("f2.txt",іos::bіnary); //потік для читання з бінарного файлу

     for(і=0;і<n;і++)

     bіncіn.read((char*)&PM2[i],sіzeof(Tstud));

//bіncіn.read((char*)&PM2[0],sіzeof(Tstud)*n); - таке читання теж можливо(тільки без цикла)

     bіncіn.close();

//кінець читання з бінарного файлу

     cout<<"Result: "<<endl;

     for(і=0;і<n;і++)

     {

          cout<<PM2[і].FІО<<" "<<PM2[і].data<<'\n';

     }

     ofstream out("f3.txt",іos::bіnary); //Запис текстового файлу

     for(і=0;і<n;і++)

     {

          out<<PM2[і].FІО<<" "<<PM2[і].data<<'\n';

     }

     bіncіn.close();

     cout<<endl;

     cіn.get();

     return 0;

}

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content