Езикът C - Работа с файлове

Тук можете да побликувате всякакви уроци , свързани с програмирането и дизайна.

Оценете урока

Да, урока ми беше полезен
0
Няма гласували
Не, урока не ми беше полезен
0
Няма гласували
Има още какво да се добави
0
Няма гласували
 
Общо гласове : 0

Аватар
 
Мнения: 609
Регистриран на: 15 Сеп 2012, 13:21
Местоположение: Оряхово / София
Skype: support.csportal
Настоящ CS NICK: eSport| Survive
Любимо/и оръжие/я: Каквото ми попадне под ръка
Настроение: Хакуна Матата ;)
Steam Community ID: STEAM_0:0:137450560
Пол: Мъж
ОС: Windows
Любима версия: 1.6 ForEVER

Езикът C - Работа с файлове

Мнение от Stivko » 28 Юни 2017, 18:01

Текстови файлове. Функции fopen, fclose, getc, putc, fgetc, fputc, ungetc, fscanf, fprintf.


Входът и изходът в C се осъществяват със стандартни функции, описани в библиотеката stdio.h;
функции, които са описани в stdio.h са от високо ниво за работа с файлове.
При функциите от високо ниво, програмистът не е нужно да се грижи за създаването на необходимите буфери, за тяхният размер и т.н.
За работа с файлове се дефинира променлива-указател от тип FILE;

Например:

FILE *fp;
типът FILE е дефиниран в stdio.h.
Това е тип структура, т.е. fp е указател към структура от тип FILE ( казваме, че fp е указател към файл ).
Тази структура включва информация за текущата позиция във файла, указатели към свързаните с него буфери и индикатори за грешки или за достигане на край на файла;


  Функция fopen:  


прототип: FILE *fopen (const char *filename, const char *mode);

Функцията fopen отваря файла с име filename и като резултат връща указател към отворения файл.
"filename" е име на файл, така както той се задава в операционната система, т.е. fopen прави връзка между името на файла и указателя към файла, който се използва по-късно в програмата.

С параметъра mode се определя как ще се използва този файл.

r за четене от файл
w за създаване на нов файл
a за добавяне към съществуващ файл
r+ за четене от файл и актуализация
w+ за създаване на файл и актуализация
a+ за добавяне към съществуващ файл и актуализация
за работа с текстови файлове, към mode прибавяме t.
Например:
rt , wt , r+t rt+ и т.н.

За работа с двоични файлове, към mode прибавяме b.
Например:
rb , ab , a+b ab+ и т.н.
Функцията fopen връща указател NULL при грешка.
Ако указател към файл има стойност NULL, това значи, че файлът не е отворен !

Например:
- няма място на хард диска;
- писане върху защитена за писане дискета или диск;
- отваряне на несъществуващ файл за четене;

Когато файлът е отворен за актуализация се позволява въвеждане и извеждане.
Важна особеност в режима на актуализация е, че съответните операции се осъществяват спрямо текущата позиция във файла, т.е. ако е въведен даден запис или елемент за актуализация, преди извеждането му указателят в буфера на файла трябва да се позиционира в началото на този запис или елемент с функцията fseek .
Например:
FILE *fp;
if ( ( fp = fopen (name, w))==NULL)

Проверка, дали файлът е отворен успешно:

Можем да използваме също if(fp==0) или if(fp==NULL)

FILE *fp;
fp = fopen("file.txt", "r");
if (!fp) printf("Файлът не беше отворен успешно.");
"Нашата любов е невъзможна!" , казало Балончето и гушнало Кактуса...
<|-----------------------------------------------------------------------------------------|>
"Choice"
"Chance"
"Change"
You Must Take A "Choice"
To Take A "Chance"
Or
Your Life Will Never "Change"!
<|-----------------------------------------------------------------------------------------|>
Смирението е това, което прави един човек ангел.
А гордостта е тази, превърнала ангелите в дяволи.


Когато Българите бяхме единни, България беше силна !

Изображение

Назад към Учебни теми

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта