- Главная
- Информатика
- Файли в мові С
Содержание
- 2. У разі виникнення помилки при відкритті файлу ця функція повертає NULL. Якщо до символів, які задають
- 3. Деякі стандартні функції для роботи з файлами в мові С 1. int fgetc (FILE*fp); Здійснює введення
- 4. 5. int fprintf (FILE *fp , char *format, …); Ця функція здійснює форматований вивід своїх аргументів
- 5. Стандартна послідовність дій для роботи з файлом виглядає наступним чином: FILE *fp_in = fopen ("G:\\in.txt", "r");
- 6. Файли прямого доступу Прямий (direct access) (на відміну від послідовного) доступ до файлу реалізують наступні стандартні
- 7. Функції прямого введення-виведення в мові С size_t fread (void* ptr, size_t size, size_t num, FILE* filename);
- 8. Прості операції з файлами введення в С++. Припустимо, що програма має читати інформацію із файлу. Для
- 10. Скачать презентацию
Слайд 2У разі виникнення помилки при відкритті файлу ця функція повертає NULL. Якщо до
У разі виникнення помилки при відкритті файлу ця функція повертає NULL. Якщо до
символів, які задають режим, дописана літера t, то файл використовується як текстовий (цей режим діє за умовчанням), якщо ж літера b – то як двійковий.
Зауваження 1. Хоча режим оновлення допускає як запис, так і читання із файлу, але при переході від операції запису до читання слід звертатись до стандартної функції
int fflush (FILE* fp);
яка виконує додатковий запис усіх даних, що ще залишились у буфері.
Зауваження 2. Всі функції, які працюють із файлами, підключаються через файл stdio.h або cstdio .
Для закриття файлу використовується стандартна процедура:
int fclose (FILE* fp);
Зауваження 1. Хоча режим оновлення допускає як запис, так і читання із файлу, але при переході від операції запису до читання слід звертатись до стандартної функції
int fflush (FILE* fp);
яка виконує додатковий запис усіх даних, що ще залишились у буфері.
Зауваження 2. Всі функції, які працюють із файлами, підключаються через файл stdio.h або cstdio .
Для закриття файлу використовується стандартна процедура:
int fclose (FILE* fp);
Слайд 3Деякі стандартні функції для роботи з файлами в мові С
1. int fgetc
Деякі стандартні функції для роботи з файлами в мові С
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, якщо сталась помилка.
Здійснює введення чергового символу із вказаного файлу. Якщо повертає константу 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, …);
Ця функція здійснює форматований вивід
5. 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
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 =
Стандартна послідовність дій для роботи з файлом виглядає наступним чином:
FILE *fp_in =
fopen ("G:\\in.txt", "r");
if (fp_in) // якщо файл існує
{
// тут працюємо з файлом
fclose (fp_in);
}
else // якщо файл не існує
fprintf (stderr, "\n Error!!!");
if (fp_in) // якщо файл існує
{
// тут працюємо з файлом
fclose (fp_in);
}
else // якщо файл не існує
fprintf (stderr, "\n Error!!!");
Слайд 6Файли прямого доступу
Прямий (direct access) (на відміну від послідовного) доступ до
файлу
Файли прямого доступу
Прямий (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, якщо позиція успішно встановлена.
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 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. Повертає кількість успішно записаних елементів.
Читає із файлу 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.
Створити екземпляр класу ifstream, для керування потоком введення:
ifstream ifile;
Поставити цей екземпляр у відповідність конкретному файлу:
ifile.open (“D:\\in.txt”);
(Кроки 1 та 2 можна замінити створенням екземпляру з допомогою конкретного конструктора:
ifstream ifile (“D:\\in.txt”, ios::in);)
Працювати із цим об'єктом так само, як із об'єктом cin.
- Предыдущая
Інформаційна безпека в ІСМ. (Тема 10)Следующая -
Платформа ArcGIS