Файли в мові С презентация

У разі виникнення помилки при відкритті файлу ця функція повертає NULL. Якщо до символів, які задають режим, дописана літера t, то файл використовується як текстовий (цей режим діє за умовчанням), якщо

Слайд 1Файли в мові С
Для відкриття файлу використовується стандартна функція:
FILE* fopen (

char* filename, char* mode);
filename – стрінг, який містить повне ім'я файлу, mode – стрінг, який визначає режим роботи із файлом:
"r" – відкрити існуючий файл для введення з нього (читання);
"w" – створити новий файл або відкрити (і звільнити від попереднього вмісту) існуючий файл для виводу (запису) у його початок;
"a" – створити новий файл для виводу або відкрити існуючий файл для виводу в кінець файлу;
"r+" – відкрити існуючий файл для оновлення (тобто читання й запису), яке буде здійснюватись з його початку;
"w+" – створити новий файл або відкрити існуючий файл для оновлення, яке буде здійснюватись з його початку;
"a+" – створити новий файл або відкрити існуючий файл і підстроїтись у його кінець для оновлення.
Ця функція повертає вказівник на структуру FILE, яка зберігає всю інформацію про файл.

Слайд 2У разі виникнення помилки при відкритті файлу ця функція повертає NULL.

Якщо до символів, які задають режим, дописана літера t, то файл використовується як текстовий (цей режим діє за умовчанням), якщо ж літера b – то як двійковий.
Зауваження 1. Хоча режим оновлення допускає як запис, так і читання із файлу, але при переході від операції запису до читання слід звертатись до стандартної функції
int fflush (FILE* fp);
яка виконує додатковий запис усіх даних, що ще залишились у буфері.
Зауваження 2. Всі функції, які працюють із файлами, підключаються через файл stdio.h або cstdio .
Для закриття файлу використовується стандартна процедура:
int fclose (FILE* fp);

Слайд 3Деякі стандартні функції для роботи з файлами в мові С
1.

int fgetc (FILE*fp);
Здійснює введення чергового символу із вказаного файлу. Якщо повертає константу EOF, то сталась помилка або досягнуто кінця файлу.
2. int fputc (int ch, FILE*fp);
Виводить символ з кодом ch у вказаний файл. Повертає змінну з кодом ch або EOF, якщо сталась помилка.
3. char * fgets (char *s, int n, FILE *fp);
Здійснює введення в стрінг s (буфер) символів із файлу fp, до тих пір, поки не виконається одна з умов:
виникає символ '\n' (початок нового рядку);
досягнутий кінець файлу;
прочитано n-1 символів.
Після цього стрінг доповнюється '\0'. У першому випадку перед '\0' записується '\n'.
Якщо читання із файлу завершено успішно, то повертає вказівник на стрінг s, у разі помилки – повертає NULL.
4. int fputs (char *s, FILE *fp);
Ця функція виводить стрінг s у вказаний файл. Повертає 0 або EOF, якщо сталась помилка.

Слайд 45. int fprintf (FILE *fp , char *format, …);
Ця функція здійснює

форматований вивід своїх аргументів у файл, який ідентифікується файловою змінною fp, під керівництвом стрінгу format.
6. int fscanf (FILE *fp , char *format, …);
Здійснює форматоване, визначене стрінгом format, введення з вказаного файлу.
7. int feof (FILE *fp);
Повертає не 0 (тобто ІСТИНУ), якщо при читанні із файлу був досягнутий кінець файлу і 0 (тобто ХИБНІСТЬ) у супротивному випадку.
8. int ferror (FILE *fp);
Повертає не 0 (тобто ІСТИНУ), якщо при виконанні операцій введення або виведення із файлом fp виникали помилки і 0 (тобто ХИБНІСТЬ) у супротивному випадку.
9. void rewind (FILE *fp);
Покажчик поточної позиції у файлі пересувається на початок файлу. При цьому покажчик кінця файлу та покажчик помилок занулюються.
Всі згадані функції підключаються через файли stdio.h або cstdio

Слайд 5Стандартна послідовність дій для роботи з файлом виглядає наступним чином:
FILE *fp_in

=
fopen ("G:\\in.txt", "r");
if (fp_in) // якщо файл існує
{
// тут працюємо з файлом
fclose (fp_in);
}
else // якщо файл не існує
fprintf (stderr, "\n Error!!!");

Слайд 6Файли прямого доступу
Прямий (direct access) (на відміну від послідовного) доступ

до
файлу реалізують наступні стандартні функції:
1. int fgetpos ( FILE *fp, fpos_t *pos);
Заносить у змінну pos, типом якої є fpos_t (це синонім типу long int), значення поточної позиції у файлі fp. Повертає 0, якщо позиція pos успішно визначена.
2. int fsetpos ( FILE *fp, fpos_t *pos);
Встановлює у файлі fp поточну позицію в положення, визначене вказівником pos. Останній мав бути раніше визначений функцією fgetpos. Повертає 0, якщо позиція pos успішно встановлена.
3. int fseek ( FILE *fp, long offset, int from_where);
Встановлює у файлі fp поточну позицію в положення, що відстоїть на offset байтів від положення, визначеного аргументом from_where у бік кінця файлу при offset>0 і в бік початку при offset<0. Аргумент from_where може набувати значення однієї з трьох стандартних констант: SEEK_SET (=0) – відлік від початку файлу; SEEK_CUR (=1) – відлік від поточної позиції у файлі; SEEK_END (=2) – відлік від кінця файлу. Повертає 0, якщо позиція успішно встановлена.

Слайд 7Функції прямого введення-виведення в мові С
size_t fread (void* ptr, size_t

size,
size_t num, FILE* filename);
Читає із файлу filename в масив ptr не більше num елементів розміру size. Повертає кількість успішно прочитаних елементів (вона може бути менше заявленої).
size_t fwrite (void* ptr, size_t size,
size_t num, FILE* filename);
Записує у файл filename із масиву ptr num елементів розміру size. Повертає кількість успішно записаних елементів.

Слайд 8Прості операції з файлами введення в С++.
Припустимо, що програма має читати

інформацію із файлу. Для цього необхідно виконати наступні кроки:
Створити екземпляр класу ifstream, для керування потоком введення:
ifstream ifile;
Поставити цей екземпляр у відповідність конкретному файлу:
ifile.open (“D:\\in.txt”);
(Кроки 1 та 2 можна замінити створенням екземпляру з допомогою конкретного конструктора:
ifstream ifile (“D:\\in.txt”, ios::in);)
Працювати із цим об'єктом так само, як із об'єктом cin.


Слайд 9Прості операції з файлами виведення в С++.
Припустимо, що програма має виводити

інформацію у файл. Для цього необхідно виконати наступні кроки:
Створити екземпляр класу ofstream, для керування потоком виведення:
ofstream ofile;
Поставити цей екземпляр у відповідність конкретному файлу:
ofile.open (“D:\\in.txt”);
(Кроки 1 та 2 можна замінити створенням екземпляру з допомогою конкретного конструктора:
ofstream ofile (“D:\\in.txt”, ios::out);)
Працювати із цим об'єктом так само, як із об'єктом cout.


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика