Скачать презентацию Файлы Лекетор Махметова А М Файл Скачать презентацию Файлы Лекетор Махметова А М Файл

Лекция-СИ_8_рус.ppt

  • Количество слайдов: 16

Файлы Лекетор Махметова А. М. Файлы Лекетор Махметова А. М.

Файл – это информация, размещенная на каком-либо носителе (диске) или в буфере ввода/вывода устройства Файл – это информация, размещенная на каком-либо носителе (диске) или в буфере ввода/вывода устройства (клавиатура). Для обмена данными файл должен быть открыт, по завершении этого процесса – закрыт.

Функции для работы с файлами fopen(); - открыть файл. fopen(“адрес файла /имя“, ”тип доступа Функции для работы с файлами fopen(); - открыть файл. fopen(“адрес файла /имя“, ”тип доступа “); При работе с файлами используются указатели: FILE *fp; Тип FILE указан в заголовочном файле . Пример: fp=fopen(“ex 1. txt“, ”w“); или общий запись fp=fopen(name, mode);

“r” – открытие файла для чтение (файл должен быть создан); “w” – открытие пустого “r” – открытие файла для чтение (файл должен быть создан); “w” – открытие пустого файла для записи данных; “a” – открыть файл для добовление данных. Запись осуществляется в конец файла; “r+” – открытие файла для записи и для чтения; “w+” – открытие файла для чтения и записи; “a+” – открытие файла для чтения и для записи данных в конец файла; “t” – открытие файла в текстовом режиме (rt, wt, at); “b” – открытие файла в двоичном режиме (rb, wb, ab);

Функции для закрытия файла, после завершения работы с файлами: fclose (указатель файла); Пример: fclose Функции для закрытия файла, после завершения работы с файлами: fclose (указатель файла); Пример: fclose (fp); Для записи и чтения с файла используются стандартные функции ввода /вывода. Все действия связанные с файлами можно разделить на три группы: • Операции ввода/вывода символов; • Операции ввода/вывода символьных строк; • Операции по блочного ввода/вывода.

Общие функции ввода/вывода: fprint (fp, ”шаблон спецификации“, выражения); fscanf (fp, ”шаблон спецификация“, адрес); Операции Общие функции ввода/вывода: fprint (fp, ”шаблон спецификации“, выражения); fscanf (fp, ”шаблон спецификация“, адрес); Операции ввода/вывода символов (с файла считывается или записывается один символ): fgets(FILE *fp); Чтение и возврат символа из открытого файла; fputs(int ch, FILE *fp); Записывает в файл код ch символа;

Операции ввода/вывода символьных строк getc(char *S); Читает байты из файла байты данных и записывает Операции ввода/вывода символьных строк getc(char *S); Читает байты из файла байты данных и записывает их в строку S до тех пор, пока не встретит символ 'n', который заменяется на нуль – терминатор; fgetc(char *S, int m, FILE *fp); Извлекает байты из файла, описываемого fp, и записывает их в строку S до тех пор, пока не встретит символ 'n' или пока не будет считана m байтов;

Блок бойынша енгізу/шығару операциялары fread (void *ptv, int size, int n, FILE *fp); Считывает Блок бойынша енгізу/шығару операциялары fread (void *ptv, int size, int n, FILE *fp); Считывает n блоков по size байт каждый из файла fp, в область памяти, на которую указывает указатель ptv (необходимо заранее отвести память под считываемый блок); fwrite (void *ptv, int size, int n, FILE *fp); Записывае n блоков по size байт каждый из области памяти, на которую указывает ptv, в открытый файл fp.

Запись чисел в файл #include <stdio. h> #include <conio. h> void main() { int Запись чисел в файл #include #include void main() { int k, i, n=5; char fname[]="num. txt"; clrscr(); FILE *fp; fp=fopen(fname, "w"); printf(“Числа %s записываются в файл", fname); puts(“После каждого числа нажимайте на Entern"); for (i=0; i

Запись в конец файла #include <stdio. h> #include <conio. h> #include <math. h> void Запись в конец файла #include #include #include void main() { int i, n=5, y, x; clrscr(); char fname[]="num. txt"; FILE *fp; fp=fopen("ff 1. txt", "at"); if ((fp=fopen(fname, "at"))==NULL) {printf("n ошибка открытия файла"); getch(); } puts( «Введите 5 чисел через Entern"); for (i=0; i

Считать с файла числа, о определяет количество четных чисел и их сумму #include <stdio. Считать с файла числа, о определяет количество четных чисел и их сумму #include #include #include void main() { int k=0, s=0, i, y, x; char fname[]="ff 1. txt"; clrscr(); FILE *fp; fp=fopen("ff 1. txt", "r"); fp=fopen("fp", "rt");

if ((fp=fopen(fname, if ((fp=fopen(fname, "rt"))==NULL) {printf("n ochibka"); getch(); } puts(" chislo iz faila n"); while(!feof(fp)) { fscanf(fp, "%i", &y); printf( "%i ", y); if (y%2==0) {s+=y; k=k+1; } } fclose(fp); printf ("n s=%i, kol-vo k=%i", s, k ); getch(); }

Запись в файл (Ctrl+Z завершение записи) #include <stdio. h> #include <conio. h> int main() Запись в файл (Ctrl+Z завершение записи) #include #include int main() { int id; char name[30]; double gpi; FILE *cfptr; if ((cfptr=fopen("ctud. txt", "w"))==NULL) printf("ochibka otkrn");

else { printf ( else { printf ("Enter id, name, gpi n"); printf ("posle vvoda Enter EOFn" ); printf("? ="); scanf("%d %s %f", &id, &name, &gpi); while(!feof(stdin)){ fprintf(cfptr, "%d %s %2. 1 fn", id, name, gpi); printf("? ="); scanf("%d %s %lf", &id, &name, &gpi); } fclose(cfptr); } return 0; }

Чтение с файла #include <stdio. h> #include <conio. h> int main() { int id; Чтение с файла #include #include int main() { int id; char name[30]; double gpi; FILE *cfptr; if ((cfptr=fopen("ctud. txt", "r"))==NULL) printf("ochibka otkrn");

else { printf ( else { printf ("n%-10 s| %-13 s |%s n", "id", "name", "gpi"); printf("------------n"); fscanf(cfptr, "%d%s%lf", &id, &name, &gpi); while(!feof(cfptr)){ printf("%-10 d|%-13 s |%7. 2 fn", id, name, gpi); fscanf(cfptr, "%d %s %lf", &id, &name, &gpi); } fclose(cfptr); } return 0; }