Поясніть правила форматного виведення даних символьного, рядкового і дійсного типів.
Форматне виведення реалізується функцією:
printf (<форматний рядок>,<список аргументів>);
Аргументи:
%d, %i – десяткове ціле число;
%f – число із плаваючою крапкою типу float;
%lf – число із плаваючою крапкою типу double;
%e – число в експонентній формі типу float або double;;
%c – символ;
%s – рядок.
Що таке бінарний файл? Як оголосити бінарний файл? Навести приклад.
Двійковий (бінарний) файл — файл, що містить послідовність довільних байтів. Назва пов'язана з тим, що байти складаються з біт, тобто двійкових (англ. binary) цифр. Для роботи з бінарними файлами в мові C ++ використовується стандартна бібліотека для роботи з файлами (див. Функції для роботи з текстовими файлами fscanf і fprintf), але з невеликими змінами. Так, наприклад, для читання бінарного файлу застосовується параметр «rb», а не звичайний «r». Аналогічно і з модифікаторами записи «w», додавання «a», читання і записи «r +», «w +», «a +»: «wb», «ab», «rb +», «wb +», «ab +». Як і для звичайних файлів наявність літери w позначає, що файл буде створений в разі відсутності, а, якщо файл вже є, то його вміст буде видалено і замінено новим. А наявність літери “a” значить, що файл буде створений в разі відсутності, але вміст файлу не буде знищено.
Весь процес йде по аналогії зі звичайним текстовим файлом, але є деякі нюанси. Робота йде саме з бітами, так що можливий запис або зчитування різних керуючих символів, наприклад, "\ n", який закінчує рядок і починає нову.
Код C ++ Записати число в бінарний файл. Прочитати число з бінарного файлу
=================
#include // Для очищення екрану
#include // Для роботи з клавіатурою
#include // Для роботи з файловими потоками
void main () {
system ( "CLS"); // Очищення екрану
int y = 0; // Y будемо записувати в файл
int x = 0; // X будемо зчитувати з файлу
cout << "Y ="; cin >> y; // Вводимо число, яке потрібно зберегти в файл
ofstream out ( "C: //1.txt", ios :: binary | ios :: out); // Відкриваємо файл в двійковому режимі для запису
out.write ((char *) & y, sizeof y); // Записуємо в файл число y
out.close (); // Закриваємо файл
cout << "x =" << x << endl; // Показуємо X до його змін
ifstream in ( "C: //1.txt", ios :: binary | ios :: in); // Відкриваємо файл в двійковому режимі тільки для читання
in.read ((char *) & x, sizeof x); // Читаємо звідти інформацію і запам'ятовуємо її в X
in.close (); // Закриваємо файл
cout << "x =" << x << endl; // Показуємо X після зміни
system ( "PAUSE");
}
Do'stlaringiz bilan baham: |