🗊Презентация Файлы в Си

Нажмите для полного просмотра!
Файлы в Си, слайд №1Файлы в Си, слайд №2Файлы в Си, слайд №3Файлы в Си, слайд №4Файлы в Си, слайд №5Файлы в Си, слайд №6Файлы в Си, слайд №7Файлы в Си, слайд №8Файлы в Си, слайд №9Файлы в Си, слайд №10Файлы в Си, слайд №11Файлы в Си, слайд №12Файлы в Си, слайд №13Файлы в Си, слайд №14Файлы в Си, слайд №15Файлы в Си, слайд №16Файлы в Си, слайд №17Файлы в Си, слайд №18Файлы в Си, слайд №19Файлы в Си, слайд №20Файлы в Си, слайд №21Файлы в Си, слайд №22Файлы в Си, слайд №23Файлы в Си, слайд №24Файлы в Си, слайд №25Файлы в Си, слайд №26Файлы в Си, слайд №27Файлы в Си, слайд №28Файлы в Си, слайд №29Файлы в Си, слайд №30Файлы в Си, слайд №31Файлы в Си, слайд №32Файлы в Си, слайд №33Файлы в Си, слайд №34Файлы в Си, слайд №35Файлы в Си, слайд №36Файлы в Си, слайд №37Файлы в Си, слайд №38Файлы в Си, слайд №39Файлы в Си, слайд №40

Содержание

Вы можете ознакомиться и скачать презентацию на тему Файлы в Си. Доклад-сообщение содержит 40 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Файлы в Си
Тип доступа к файлам
Описание слайда:
Файлы в Си Тип доступа к файлам

Слайд 2


Файлы в Си, слайд №2
Описание слайда:

Слайд 3


Файлы в Си, слайд №3
Описание слайда:

Слайд 4


Файлы в Си, слайд №4
Описание слайда:

Слайд 5


Файлы в Си, слайд №5
Описание слайда:

Слайд 6





Механизм чтения из файла
Описание слайда:
Механизм чтения из файла

Слайд 7





Механизм записи в файл
Описание слайда:
Механизм записи в файл

Слайд 8


Файлы в Си, слайд №8
Описание слайда:

Слайд 9





Функции для поточного доступа к файлам 
 Функции поточного ввода-вывода называют стандартными функциями ввода-вывода. 
 Си создает внутреннюю структурную переменную по шаблону FILE (stdio.h).
Описание слайда:
Функции для поточного доступа к файлам Функции поточного ввода-вывода называют стандартными функциями ввода-вывода. Си создает внутреннюю структурную переменную по шаблону FILE (stdio.h).

Слайд 10





FILE* fopen (const char *filename, const char* mode)
FILE* fopen (const char *filename, const char* mode)
Описание слайда:
FILE* fopen (const char *filename, const char* mode) FILE* fopen (const char *filename, const char* mode)

Слайд 11





a – открыть файл для обновления, открывает файл для записи  в  конец  файла или создает файл для записи, если файла не существует.
a – открыть файл для обновления, открывает файл для записи  в  конец  файла или создает файл для записи, если файла не существует.
r+ - открыть существующий  файл  для   корректировки (чтения и записи).
w+ - создать новый  файл для корректировки (чтения и записи). 
a+ - открыть для обновления; открывает для корректировки (чтения и записи) в конец файла, или создает, если файла не существует.
t – открыть файл в текстовом режиме.
Описание слайда:
a – открыть файл для обновления, открывает файл для записи в конец файла или создает файл для записи, если файла не существует. a – открыть файл для обновления, открывает файл для записи в конец файла или создает файл для записи, если файла не существует. r+ - открыть существующий файл для корректировки (чтения и записи). w+ - создать новый файл для корректировки (чтения и записи). a+ - открыть для обновления; открывает для корректировки (чтения и записи) в конец файла, или создает, если файла не существует. t – открыть файл в текстовом режиме.

Слайд 12





b – открыть файл в двоичном режиме.
b – открыть файл в двоичном режиме.
По умолчанию установлен текстовый режим доступа к файлу. 
Режимы t  и b указываются вторыми символами в строковой переменной mode, например “r+b”.
Описание слайда:
b – открыть файл в двоичном режиме. b – открыть файл в двоичном режиме. По умолчанию установлен текстовый режим доступа к файлу. Режимы t и b указываются вторыми символами в строковой переменной mode, например “r+b”.

Слайд 13





Проверка корректности открытия файла:
Проверка корректности открытия файла:
Описание слайда:
Проверка корректности открытия файла: Проверка корректности открытия файла:

Слайд 14





int fclose(FILE *fp)  - закрывает файл fp, при успешной работе возвращает 0, при неуспешной EOF).
int fclose(FILE *fp)  - закрывает файл fp, при успешной работе возвращает 0, при неуспешной EOF).
int closeall(void) – закрывает все файлы, открытые в программе, при успешной работе возвращает число закрытых потоков, при неуспешной -  EOF.
FILE *freopen(const char *filename, const char* mode, FILE *stream) – закрывает поток stream, открывает поток  filename с новыми правами доступа установленными в mode. Если потоки разные, то происходит переадресация потока stream в поток filename.
Описание слайда:
int fclose(FILE *fp) - закрывает файл fp, при успешной работе возвращает 0, при неуспешной EOF). int fclose(FILE *fp) - закрывает файл fp, при успешной работе возвращает 0, при неуспешной EOF). int closeall(void) – закрывает все файлы, открытые в программе, при успешной работе возвращает число закрытых потоков, при неуспешной - EOF. FILE *freopen(const char *filename, const char* mode, FILE *stream) – закрывает поток stream, открывает поток filename с новыми правами доступа установленными в mode. Если потоки разные, то происходит переадресация потока stream в поток filename.

Слайд 15





   …char name[] = "prim.txt";
   …char name[] = "prim.txt";
    int n;
    FILE *f;
    printf( “Введите целое число n: ");
    scanf("%d", &n);
    freopen(name,"wt",stdout);
    for (int i=0;i<n;i++)
	   printf("%d\n",i);
    fclose(f);
    system("PAUSE");
    return EXIT_SUCCESS; …
Описание слайда:
…char name[] = "prim.txt"; …char name[] = "prim.txt"; int n; FILE *f; printf( “Введите целое число n: "); scanf("%d", &n); freopen(name,"wt",stdout); for (int i=0;i<n;i++) printf("%d\n",i); fclose(f); system("PAUSE"); return EXIT_SUCCESS; …

Слайд 16





ch = fgetc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель.
ch = fgetc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель.
ch = getc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель.
fputc(ch,<указатель на файл>) – записать символ ch в указанный файл. 
putc(ch,<указатель на файл>) – записать символ ch в файл.
fgets(str, n, <указатель на файл>) – прочитать строку str, длиной n символов, или до первого встреченного \n из указанного файла.
Описание слайда:
ch = fgetc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель. ch = fgetc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель. ch = getc( <указатель на файл>) – возвращает символ ch из файла, с которым связан указатель. fputc(ch,<указатель на файл>) – записать символ ch в указанный файл. putc(ch,<указатель на файл>) – записать символ ch в файл. fgets(str, n, <указатель на файл>) – прочитать строку str, длиной n символов, или до первого встреченного \n из указанного файла.

Слайд 17





fputs(str, <указатель на файл>) – записать строку str, в файл. Символ перевода на другую строку в файл не записывается.
fputs(str, <указатель на файл>) – записать строку str, в файл. Символ перевода на другую строку в файл не записывается.
fscanf( <указатель на файл>, управляющая строка, ссылка) – универсальная функция считывания из текстового файла. 
fscanf(f,”%d”,&n) 
fread(ptr,size,n,<указатель на файл>) – считывает n элементов размером size в область памяти, начиная с ptr. В случае успеха возвращает количество считанных элементов, в случае неуспеха – EOF.
Описание слайда:
fputs(str, <указатель на файл>) – записать строку str, в файл. Символ перевода на другую строку в файл не записывается. fputs(str, <указатель на файл>) – записать строку str, в файл. Символ перевода на другую строку в файл не записывается. fscanf( <указатель на файл>, управляющая строка, ссылка) – универсальная функция считывания из текстового файла. fscanf(f,”%d”,&n) fread(ptr,size,n,<указатель на файл>) – считывает n элементов размером size в область памяти, начиная с ptr. В случае успеха возвращает количество считанных элементов, в случае неуспеха – EOF.

Слайд 18





fwrite(ptr,size,n,<указатель на файл>) – записывает n элементов размером size из памяти, начиная с ptr в файл– в случае успеха возвращает количество записанных элементов, в случае неуспеха – EOF.
fwrite(ptr,size,n,<указатель на файл>) – записывает n элементов размером size из памяти, начиная с ptr в файл– в случае успеха возвращает количество записанных элементов, в случае неуспеха – EOF.

fprintf( <указатель на файл>, управляющая строка, [список аргументов] )  – форматированный вывод в файл.  
функции прямого доступа к файлу

rewind( <указатель файла>) – установить указатель файла на начало файла.
Описание слайда:
fwrite(ptr,size,n,<указатель на файл>) – записывает n элементов размером size из памяти, начиная с ptr в файл– в случае успеха возвращает количество записанных элементов, в случае неуспеха – EOF. fwrite(ptr,size,n,<указатель на файл>) – записывает n элементов размером size из памяти, начиная с ptr в файл– в случае успеха возвращает количество записанных элементов, в случае неуспеха – EOF. fprintf( <указатель на файл>, управляющая строка, [список аргументов] ) – форматированный вывод в файл. функции прямого доступа к файлу rewind( <указатель файла>) – установить указатель файла на начало файла.

Слайд 19





int fseek( <указатель файла>, offset, fromwheare) - установить указатель чтения-записи файла на позицию offset, относительно позиции fromwheare. 
int fseek( <указатель файла>, offset, fromwheare) - установить указатель чтения-записи файла на позицию offset, относительно позиции fromwheare. 

значения fromwheare 
		SEEK_END – от конца файла, 
		SEEK_SET – от начала файла, 
		SEEK_CUR – от текущей позиции.
Описание слайда:
int fseek( <указатель файла>, offset, fromwheare) - установить указатель чтения-записи файла на позицию offset, относительно позиции fromwheare. int fseek( <указатель файла>, offset, fromwheare) - установить указатель чтения-записи файла на позицию offset, относительно позиции fromwheare. значения fromwheare SEEK_END – от конца файла, SEEK_SET – от начала файла, SEEK_CUR – от текущей позиции.

Слайд 20





long int n = ftell ( <указатель на файл>) – в переменную n передать номер текущей позиции в файле.
long int n = ftell ( <указатель на файл>) – в переменную n передать номер текущей позиции в файле.
 int z = fgetpos ( <указатель файла>, npos) - в динамической памяти по адресу npos записать номер текущей позиции в файле, в случае успеха функция возвращает 0; в противном случае  – любое ненулевое число.
int unlink ( <имя файла>) – удаление файла, при успехе функция возвращает 0, при неуспехе - -1. 
int rename( <старое имя>,<новое имя>) – переименованиие файла, при успехе функция возвращает 0, при неуспехе - -1. 
int feof ( <указатель на файл>) возвращает 0, если конец файла не достигнут, любое ненулевое число, если достигнут.
Описание слайда:
long int n = ftell ( <указатель на файл>) – в переменную n передать номер текущей позиции в файле. long int n = ftell ( <указатель на файл>) – в переменную n передать номер текущей позиции в файле. int z = fgetpos ( <указатель файла>, npos) - в динамической памяти по адресу npos записать номер текущей позиции в файле, в случае успеха функция возвращает 0; в противном случае – любое ненулевое число. int unlink ( <имя файла>) – удаление файла, при успехе функция возвращает 0, при неуспехе - -1. int rename( <старое имя>,<новое имя>) – переименованиие файла, при успехе функция возвращает 0, при неуспехе - -1. int feof ( <указатель на файл>) возвращает 0, если конец файла не достигнут, любое ненулевое число, если достигнут.

Слайд 21





int ferror( <указатель на файл>) возвращает ненулевое значение, если при работе с файлом возникла ошибка, 0 – в противном  случае. 
int ferror( <указатель на файл>) возвращает ненулевое значение, если при работе с файлом возникла ошибка, 0 – в противном  случае.
Описание слайда:
int ferror( <указатель на файл>) возвращает ненулевое значение, если при работе с файлом возникла ошибка, 0 – в противном случае. int ferror( <указатель на файл>) возвращает ненулевое значение, если при работе с файлом возникла ошибка, 0 – в противном случае.

Слайд 22





Примеры работы с файлами
Запись данных в текстовый файл
Описание слайда:
Примеры работы с файлами Запись данных в текстовый файл

Слайд 23





system("chcp 1251");
system("chcp 1251");
//  Создадим цикл, позволяющий корректировать ввод
//  имени файла
 do
 {
 printf( "Введите имя создаваемого файла: ");
 scanf("%s",name);
// Попытка открыть файл для чтения. Если такой файл // уже  существует, то задать вопрос пользователю
 if ((f = fopen(name,"r"))!=NULL)
  {
     // Заменить существующий файл?
Описание слайда:
system("chcp 1251"); system("chcp 1251"); // Создадим цикл, позволяющий корректировать ввод // имени файла do { printf( "Введите имя создаваемого файла: "); scanf("%s",name); // Попытка открыть файл для чтения. Если такой файл // уже существует, то задать вопрос пользователю if ((f = fopen(name,"r"))!=NULL) { // Заменить существующий файл?

Слайд 24





printf("Файл уже существует. Заменить? (y/n)");
printf("Файл уже существует. Заменить? (y/n)");
char ch = getch();
// Если пользователь нажал кнопку «n», очистить 
// экран, вернуться к началу цикла
	if (ch == 'n') { system("cls"); continue; }
  }
// В этот блок программы управление попадет только 
// если пользователь подтвердил замену или задал имя 
// несуществующего файла.
// Создать файл.
	if ((f=fopen(name,"w"))==NULL)
	 {
	  printf("Ошибка создания файла");
	  system("PAUSE");
Описание слайда:
printf("Файл уже существует. Заменить? (y/n)"); printf("Файл уже существует. Заменить? (y/n)"); char ch = getch(); // Если пользователь нажал кнопку «n», очистить // экран, вернуться к началу цикла if (ch == 'n') { system("cls"); continue; } } // В этот блок программы управление попадет только // если пользователь подтвердил замену или задал имя // несуществующего файла. // Создать файл. if ((f=fopen(name,"w"))==NULL) { printf("Ошибка создания файла"); system("PAUSE");

Слайд 25





break;
break;
	 }
	printf("\nВведите размерность массива: ");
	scanf("%d",&n);
	for(int i=0;i<n;i++ )
{ float y = rand() %100/(rand()%50+1.)-rand()%30;
// На одной строке файла печатать только 10 
// элементов. 
	   if (i>=10&&i%10==0) fprintf(f,"\n");
	   fprintf(f,"%8.3f",y);
	 }
// Закрыть файл.
	 fclose(f);
Описание слайда:
break; break; } printf("\nВведите размерность массива: "); scanf("%d",&n); for(int i=0;i<n;i++ ) { float y = rand() %100/(rand()%50+1.)-rand()%30; // На одной строке файла печатать только 10 // элементов. if (i>=10&&i%10==0) fprintf(f,"\n"); fprintf(f,"%8.3f",y); } // Закрыть файл. fclose(f);

Слайд 26





// Закончить цикл
// Закончить цикл
	 flag = 0;
  } while (flag);
printf(“Файл создан. ");
system("PAUSE");
return EXIT_SUCCESS;
}
Описание слайда:
// Закончить цикл // Закончить цикл flag = 0; } while (flag); printf(“Файл создан. "); system("PAUSE"); return EXIT_SUCCESS; }

Слайд 27


Файлы в Си, слайд №27
Описание слайда:

Слайд 28





Чтение данных из текстового файла
Описание слайда:
Чтение данных из текстового файла

Слайд 29





Пример 2. На первой строке в файле записана размерность целочисленной матрицы. Далее – сама матрица. Считать матрицу в память и вывести ее на экран. Данные записаны в файле data.txt. 
Пример 2. На первой строке в файле записана размерность целочисленной матрицы. Далее – сама матрица. Считать матрицу в память и вывести ее на экран. Данные записаны в файле data.txt.
Описание слайда:
Пример 2. На первой строке в файле записана размерность целочисленной матрицы. Далее – сама матрица. Считать матрицу в память и вывести ее на экран. Данные записаны в файле data.txt. Пример 2. На первой строке в файле записана размерность целочисленной матрицы. Далее – сама матрица. Считать матрицу в память и вывести ее на экран. Данные записаны в файле data.txt.

Слайд 30





f = fopen(“data.txt", "r");
f = fopen(“data.txt", "r");
// Проверка ошибки открытия файла
if (f==NULL) {
printf("Файл не найден... /n Для окончания работы нажмите любую клавишу...");
system("pause");
exit(0);
}
int n,m;
// Чтение размерности матрицы
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
int **a;
// Выделение памяти под матрицу
Описание слайда:
f = fopen(“data.txt", "r"); f = fopen(“data.txt", "r"); // Проверка ошибки открытия файла if (f==NULL) { printf("Файл не найден... /n Для окончания работы нажмите любую клавишу..."); system("pause"); exit(0); } int n,m; // Чтение размерности матрицы fscanf(f,"%d",&n); fscanf(f,"%d",&m); int **a; // Выделение памяти под матрицу

Слайд 31





a = new int* [n];
a = new int* [n];
for(int i=0;i<n;i++)
 a[i] = new int [m];
// Чтение матрицы
for(int i=0;i<n;i++)
  for(int j=0;j<m;j++)
    fscanf(f,"%d",&a[i][j]);
printf("Прочитана матрица: \n");
// Печать элементов матрицы
for( int i=0;i<n;i++) {
  for(int j=0;j<m;j++)
     printf("%5d",a[i][j]);
  printf("\n"); }
system("pause");
}
Описание слайда:
a = new int* [n]; a = new int* [n]; for(int i=0;i<n;i++) a[i] = new int [m]; // Чтение матрицы for(int i=0;i<n;i++) for(int j=0;j<m;j++) fscanf(f,"%d",&a[i][j]); printf("Прочитана матрица: \n"); // Печать элементов матрицы for( int i=0;i<n;i++) { for(int j=0;j<m;j++) printf("%5d",a[i][j]); printf("\n"); } system("pause"); }

Слайд 32





Пример 3. В текстовом файле записано произвольное количество чисел. Считать данные из файла в массив и вывести на экран. 
Пример 3. В текстовом файле записано произвольное количество чисел. Считать данные из файла в массив и вывести на экран.
Описание слайда:
Пример 3. В текстовом файле записано произвольное количество чисел. Считать данные из файла в массив и вывести на экран. Пример 3. В текстовом файле записано произвольное количество чисел. Считать данные из файла в массив и вывести на экран.

Слайд 33





f = fopen("my.txt", "r");
f = fopen("my.txt", "r");
// Проверка ошибки открытия файла
if (f==NULL) {
printf("Файл не найден... /n Для окончания работы нажмите любую клавишу...");
system("PAUSE");
exit(0);
}
int n=0,y;
int *a;
// пока не конец файла f 
while (!feof(f))
{
Описание слайда:
f = fopen("my.txt", "r"); f = fopen("my.txt", "r"); // Проверка ошибки открытия файла if (f==NULL) { printf("Файл не найден... /n Для окончания работы нажмите любую клавишу..."); system("PAUSE"); exit(0); } int n=0,y; int *a; // пока не конец файла f while (!feof(f)) {

Слайд 34





// читать элемент и 
// читать элемент и 
 int z = fscanf(f,"%d",&y);
if (!z) continue;
// увеличивать счетчик.
 n++;
}
// После окончания цикла в переменной n хранится
// количество целых чисел, записанных в файле.
// Выделить память под массив.
a = new int [n];
// Указатель чтения-записи файла передвинуть в 
// начало.
fseek(f,0,SEEK_SET);
// Читать n целых чисел из файла в массив.
for(int i=0;i<n;i++)
Описание слайда:
// читать элемент и // читать элемент и int z = fscanf(f,"%d",&y); if (!z) continue; // увеличивать счетчик. n++; } // После окончания цикла в переменной n хранится // количество целых чисел, записанных в файле. // Выделить память под массив. a = new int [n]; // Указатель чтения-записи файла передвинуть в // начало. fseek(f,0,SEEK_SET); // Читать n целых чисел из файла в массив. for(int i=0;i<n;i++)

Слайд 35





fscanf(f,"%d",&a[i]);
fscanf(f,"%d",&a[i]);
printf("Прочитан массив: \n");
for(int i=0;i<n;i++)
     printf("%5d",a[i]);
printf("\n");
system("PAUSE");
}
Описание слайда:
fscanf(f,"%d",&a[i]); fscanf(f,"%d",&a[i]); printf("Прочитан массив: \n"); for(int i=0;i<n;i++) printf("%5d",a[i]); printf("\n"); system("PAUSE"); }

Слайд 36





Изменение текстового файла
Пример 4. В текстовом файле расположен произвольный текст. Не считывая весь текст в память изменить все первые буквы слов на прописные.
Описание слайда:
Изменение текстового файла Пример 4. В текстовом файле расположен произвольный текст. Не считывая весь текст в память изменить все первые буквы слов на прописные.

Слайд 37





FILE *f1 = fopen("text.txt","r+");
FILE *f1 = fopen("text.txt","r+");
if (f==NULL) {
		printf("Файл не найден. \n");
		system("PAUSE");
		return EXIT_SUCCESS;		
}
char word[100];
long pos1;
// Организуем бесконечный цикл для чтения файла.
Описание слайда:
FILE *f1 = fopen("text.txt","r+"); FILE *f1 = fopen("text.txt","r+"); if (f==NULL) { printf("Файл не найден. \n"); system("PAUSE"); return EXIT_SUCCESS; } char word[100]; long pos1; // Организуем бесконечный цикл для чтения файла.

Слайд 38





while (1) {
while (1) {
// Если чтение прошло неуспешно, значит достигнут конец 
// файла,
// в этом случае нужно закончить выполнение цикла
 if ( fscanf(f,"%s",word)!=1) break;
 // В переменную pos1 получить текущую 
// позицию указателя чтения-записи. 
pos1 = ftell(f);
// Установить указатель на позицию, с которой было 
// считано слово.
Описание слайда:
while (1) { while (1) { // Если чтение прошло неуспешно, значит достигнут конец // файла, // в этом случае нужно закончить выполнение цикла if ( fscanf(f,"%s",word)!=1) break; // В переменную pos1 получить текущую // позицию указателя чтения-записи. pos1 = ftell(f); // Установить указатель на позицию, с которой было // считано слово.

Слайд 39


Файлы в Си, слайд №39
Описание слайда:

Слайд 40


Файлы в Си, слайд №40
Описание слайда:



Теги Файлы в Си
Похожие презентации
Mypresentation.ru
Загрузить презентацию