1-1 Программирование С++ / html / modules / 025 / content / example1
.htmlІнформатика — Практика — Практичне заняття Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаФайлові потоки в стандарті С++ : Практичне заняттяЗміст курсу
Вступ
Теорія
Потокові класи мови С++
Практика
Практичне заняття
Лабораторна робота
Поточна перевірка знань
Робота з файлами , як з потоком С++
Версія для друку
Практичне заняття Розібрати контрольний приклад.
Приклад 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