ертає покажчик на FILE. Замітьте, что FILE, це назва типу, така сама як int, а не мітка структури; ее означено помощью typedef. (Деталі Щодо того як можна втіліті fopen на UNIX надано в Розділі 8.5.) Виклик fopen у Програмі має вигляд
=fopen (name, mode);
дерло аргументом fopen є символьний ланцюжок, что містіть Назву файлу. Другий аргумент - це режим, такоже символьний ланцюжок, Який вказує на ті, як буде використовуват файл. Допустимі режимами могут буті режим читання («r» - read), запису («w» - write) i долученості («a» - append). Деякі системи розрізняють текстові и бінарні файли, для останніх нужно Додати «b» (Binary) до літері режиму.
Если файл, Якого НЕ існує, Відкрито для запису або Доданий, его буде створена, ЯКЩО це Можливо. Відкриття наявного файлу для запису спричинилися Звільнення старого змісту, тоді як Відкриття для дозапису (доточення) - Збережи старий Зміст. Спроба прочитання файлу, Якого НЕ існує, вікліче помилки; існують такоже Інші причини помилок, як скажімо Спроба Прочитати файл, на Який ві НЕ маєте дозволено. Если сталлю якась помилка, fopen повертає NULL. Наступний крок - мати способ читання або запису до файлу после того, як его Відкрито. getc повертає Наступний знак з файлу; вона вімагає покажчика на файл, щоб знаті, Який самє файл.
getc (FILE * fp)
повертає Наступний знак з потоку, на Який вказує fp; вона повертає EOF у випадка кінця файлу або помилки. - це функція виводу:
putc (int c, FILE * fp)
запишемо символ з c до файлу fp и поверне Записаний знак або EOF у випадка помилки. Так само як getchar и putchar, getc Із putc могут буті макросами, а не функціямі. Во время запуску C-програми, середовище операційної системи бере на себе Завдання Відкриття трьох файлів и Надання покажчіків до них. ЦІ файли - це стандартний ввід, стандартний вивід и стандартна помилка; відповідні їм покажчики назіваються stdin, stdout и stderr, и оголошено в . За звічайній известить, stdin сполучено з клавіатурою, тоді як stdout Із stderr - з екранах, альо stdin и stdout можна перенаправіті в Інші файли або Конвеєри, як описано в Розділі 7.1.і putchar можна візначіті через getc, putc, stdin и stdout Наступний чином :
# define getchar () getc (stdin)
# define putchar (c) putc ((c), stdout)
Для форматованого вводу або виводу Із файлами, можна вікорістаті Функції fscanf и fprintf. Смороду тотожні scanf Із printf за вінятком того, что дерло аргументом є покажчик на файл, Який вказує на, власне, файл, Який чітатіметься; іншим аргументом є ланцюжок формату.
fscanf (FILE * fp, char * format,.) fprintf (FILE * fp, char * format,.)
маючих такий начерк, ми тепер можемо Написати ВЛАСНА програму cat для зчеплення файлів. Схема буде тією самою, что виявило корисностей в багатьох других програмах. Если існують аргументи командного рядка, їх буде інтерпретовано як назви файлів и оброблено по-порядку. Если немає аргументів, обробляється стандартний ввід.
# include
/ * cat: зчеплює файли, 1-а версія * / (int argc, char * argv [])
{* fp; filecopy (FILE *, FILE *) (argc == 1) / * нема...