Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_TO2.doc
Скачиваний:
15
Добавлен:
19.02.2016
Размер:
2.62 Mб
Скачать

4 Приклад виконання лабораторної роботи

Задати масив цілих чисел розмірністю 12, записати його в файл на диску, прочитати його з файлу в інший масив, новий масив вивести на екран.

Програма розв'язку

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

FILE *fp;

int a[12]={4,7,8,6,8,5,4,3,2,1,6,5},b[12],i;

int k;

void main() {clrscr();

fp=fopen ("C:\\WORK\\A.TXT","w");

if (fp==NULL) {printf ("not open"); exit(1);}

for(i=0;i<12;i++) fprintf (fp,"%d ",a[i]);

fclose(fp);

fp=fopen ("C:\\WORK\\A.TXT","r");

if(fp==NULL) {printf ("not open");

exit(2); }

for (i=0;i<12;i++)

fscanf(fp,"%d",&b[i]);

for (i=0;i<12;i++) printf ("b[%d]=%d\n",i,b[i]);

fclose(fp); }

5 Контрольні запитання

  1. Які функції форматного вводу-виводу?

  2. За допомогою якої функції відкриваються файли?

  3. За допомогою якої функції закриваються файли?

  4. Яку інформацію треба передати в функцію fopen()для відкриття файлу?

  5. Як здійснюється ввід-вивід на мові С?

  6. Які є типи потоків?

  7. Як записуються на мові С імена дискових файлів?

  8. Які режими відкриття файлів для запису?

Лабораторна робота № 22

Тема: Складання програм з використанням символьного файлового вводу-виводу

Мета роботи: Навчитись працювати з файлами на зовнішніх носіях, оволодіти основами відкриття та закриття файлів, організовувати символьний ввід-вивід даних.

1 Короткі теоретичні відомості

Символьний ввід. Термін символьний ввід-вивід відноситься до вводу-виводу як символів так і цілих рядків. Символьний ввід-вивід відноситься до текстових файлів (до файлів, відкритих в текстовому режимі). Для символьного вводу з файлів є функції:

  • fgetc() - Зчитування символів

  • fgets() - Зчитування рядків

Функція fgetc() ідентичні і вводять один символ з заданого потоку. Прототип функції fgetc()

іnt getc(FILE *fp);

Аргумент fp це вказівник на потік вводу, який повертається з функції fopen() при відкритті файлу. Функція повертає введений символ або EOF в випадку помилки.

Функція fgets() . Використовується для читання рядка і має прототип

char *fgets(char *str, int n, FILE *fp) ;

char *str – адреса, за якою розташовані байти, в які треба помістити (зчитати, ввести) введений рядок

n – максимальне число символів (байтів), які можна ввести

FILE *fp це вказівник на файл, який повертається з функції fopen() при відкритті файла, з якого відбувається зчитування.

При успішній роботі функція повертає вказівник str. Значення NULL повертається в двох випадках

  1. перш ніж функція ввела хоч би один символ, зустрівся кінець файлу (EOF). В цьому випадку вмістиме буфера незмінне

  2. функція вспіла ввести один або декілька символів в буфер str , а потім зустрівся кінець файлу. Тоді після повернення NULL , буфер str містить випадковий набір символів.

Символьний вивід. Для символьного виводу з файлів є три функції

  • fputc() - Записування символів

  • fputs() - Записування рядків

Функція fputc()виводить один символ в заданий потік. Прототип функції

іnt fputc(int ch, FILE *fp);

Аргумент ch це символ, який треба вивести, формально він має тип int, фактично використовується тільки його молодший байт, в цій змінній міститься записуваний у файл символ.

Аргумент fp це вказівник на потік виводу, який повертається з функції fopen() при відкритті файлу і у який виконується запис.Функція повертає виведений символ або EOF в випадку помилки. Символічна константа EOF визначена в файлі stdio.h і рівна-1. Оскільки це значення не відповідає реальному символу, то його можна використати, як кінець файлу (але тільки в текстовому режимі).

Функція fputs() . Використовується для запису рядка . В ній треба вказати потік виводу, крім того вона не додає символ кінця рядка автоматично – Якщо він потрібний, то програміст повинен сам це ввести. Вона має прототип

char *fputs(char *str, FILE *fp) ;

str – вказівник на рядок з завершуючим нульовим символом, який треба вивести (записати у файл).

FILE *fp - це вказівник на файл, який повертається з функції fopen() при відкритті файла і у який відбувається запис.

Рядок str записується в файл, причому нульовий завершуючий символ \0 відкидається. При успішній роботі функція повертає додатнє значення або EOF, коли була помилка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]