Содержание
- 2. Файл – это набор данных, размещенный на внешнем носителе и рассматриваемый в процессе обработки как единое
- 3. Файлы рассматриваются компилятором как последовательность (поток байт) информации. В начале работы любой программы автоматически открываются стандартные
- 4. Для обработки любого файла необходимо выполнить следующие действия: 1) открыть файл; 2) обработать данные файла (запись,
- 5. Открытие файла Каждому файлу в программе присваивается внутреннее логическое имя, используемое в дальнейшем при обращении к
- 6. Прежде чем начать работать с файлом, его нужно открыть для доступа с помощью функции fopen (
- 7. Если путь к файлу не указан, его размещением будет текущая папка. При успешном открытии функция fopen
- 8. Второй параметр – строка, в которой задается режим доступа к файлу: w – файл открывается для
- 9. Последние два режима используются совместно с рассмотренными выше. Возможны следующие комбинации режимов доступа: w+b, wb+, rt+,
- 10. Закрытие файла После работы с файлом доступ к нему необходимо закрыть с помощью функции fclose (
- 11. Запись-чтение информации Основными действиями при работе с файлами являются запись и чтение информации. Все действия по
- 12. Создание текстовых результирующих файлов обычно необходимо для оформления различных отчетов. Для работы с текстовыми файлами чаще
- 13. Например: . . . FILE *f1; int a = 2, b = 3; printf ( ”
- 14. Бинарные файлы обычно используются для обработки данных, состоящих из структур, чтение и запись которых удобно выполнять
- 15. Позиционирование в файле Каждый открытый файл имеет скрытый указатель на текущую позицию в нем. При открытии
- 16. fseek ( f, size, code ) выполняет смещение указателя файла f на size байт в направлении
- 17. Рассмотрим некоторые полезные функции: 1) ftell ( f ) – определяет значение указателя на текущую позицию
- 18. Пример 1 #include #include #include void main() { FILE *file; char* file_name ; char t[100],str[100]; char
- 19. file = fopen( file_name, "r" ); //Открытие файла для чтения if( file != 0 ) {
- 20. Пример 2 Создать программу, в которой реализованы создание, добавление и просмотр файла, содержащего информацию о фамилии
- 21. char Spis[]="c:\\work\\Sp.dat"; FILE *F_zap; FILE* Open_file(char*, char*); void main (void) { int i, j, kodR, size
- 22. switch(kodR) { case 1: case 3: if(kodR==1) F_zap = Open_file (Spis,"w+"); else F_zap = Open_file (Spis,"a+");
- 23. break; case 2: F_zap = Open_file (Spis,"r+"); int nom=1; while(1) { if(!fread(&zap,size, 1, F_zap)) break; printf("
- 24. // Функция обработки ошибочной ситуации при открытии файла FILE* Open_file(char *file, char *kod) { FILE *f;
- 25. Пример 3 Открыть файл и записывать туда все вводимые с клавиатуры числа, до тех пор, пока
- 26. int main() { fbw(); // Запись в файл fbsort(); // Сортировка в файле fbr(); // Чтение
- 27. void fbw() { if ((fl = fopen("lab2.dat","wb"))==NULL) { cout exit(1); }
- 28. int a; do { cin >> a; int nwrt = fwrite( &a, sizeof(int), 1, fl );
- 29. void fbsort() { if ((fl = fopen("lab2.dat","rb+"))==NULL) { cout exit(1); }
- 30. for (int i=0; i for (int j=i+1; j { fseek(fl ,i*nb , SEEK_SET); nwrt = fread(
- 31. if (a>b) { fseek(fl ,i*nb , SEEK_SET); nwrt = fwrite( &b, nb, 1, fl ); fseek(fl
- 32. void fbr() { if ((fl = fopen("lab2.dat","rb"))==NULL) { cout exit(1); }
- 33. void fbr() { if ((fl = fopen("lab2.dat","rb"))==NULL) { cout exit(1); }
- 34. int a; while(true) { int nwrt = fread( &a, sizeof(int), 1, fl ); if (nwrt!=1) break;
- 35. Пример 4 Написать программу, вводящую в файл или читающую из файла ведомость студентов, сдавших экзамены. Каждая
- 36. FILE *fl; typedef struct { char fio[30]; unsigned char matem; unsigned char oaip; } TStudent; TStudent
- 37. int main() { while (true) { switch (menu()){ case 1: nnf(); break; case 2: newf(); break;
- 38. int menu() // Меню { cout cout cout cout cout cout cout cout int i; cin
- 39. void nnf() // Ввести имя файла { cout cin >> name; } void newf() // Создать
- 40. void spisok() // Ввести список { if ((fl = fopen(name,"rb+"))==NULL) { cout exit(1); } cout cin
- 41. for (int i=0; i { cout cin >> stud[i].fio; cout cin >> stud[i].matem; cout cin >>
- 42. void opf() // Открыть файл { if ((fl = fopen(name,"rb"))==NULL) { cout exit(1); } nst=0; TStudent
- 43. while(true) { int nwrt = fread( &std, sizeof(TStudent), 1, fl ); if (nwrt!=1) break; stud[nst]=std; cout
- 44. void resc() // Вывести результат на экран { for (int i=0; i if (stud[i].oaip=='4') cout }
- 45. void resf() // Вывести результат в файл { char namet[30]; FILE *ft; cout cin >> namet;
- 47. Скачать презентацию