Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВСЯ ТЕОРИЯ по Си.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
614.4 Кб
Скачать

Обработка текстовых файлов

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

Текстовые файлы являются файлами последовательного доступа. Их можно считывать только последовательно, от первой строки до последней.

Запись информации в текстовый файл происходит либо от начала файла (при этом вся информация, находившаяся там ранее, стирается), либо в конец файла (добавление информации в файл).

Назначение команд работы с файлами:

FILE *out, *in;

Объявление файловых переменных

out=fopen(fname1,”wt”);

Открытие файла в режиме записи

in=fopen(fname2,”rt”);

Открытие файла в режиме чтения

out=fopen(fname1,”at”);

Открытие файла в режиме добавления информации в конец файла

fscanf(in,”%i”,&x);

Чтение из файла целого значения

fscanf(in,”%s”,&str);

Чтение из файла строки

fprintf(out,”%s\n”,str);

Запись в файл строки

fclose(out);

Закрытие файла

if (in=fopen(fname2,”rt”)==NULL) printf(”ошибка открытия файла”);

Проверка открытия файла

while (!feof(in)) { fscanf(in,”%s”,&str); printf(”%s\n”,str); }

Цикл для чтения из текстового файла всех строк

in=fopen(fname2,”rt”); out=fopen(fname1,”wt”);

char ch;

ch=getch();

while (!feof(in)) { fscanf(in,”%s”,&str);

if (str[1]==ch) fprintf(out,”%s\n”,str); }

Чтение из одного файла всех строк и запись в другой файл строк, начинающихся на заданную букву

Пример программы обработки текстовых файлов

# include <stdio.h>

# include <string.h>

void main()

{

FILE *out, *in;

int l;

char s[80];

in=fopen(”H:\\1.txt”,”rt”);

out=fopen(”H:\\2.txt”,”wt”);

while (!feof(in)) // цикл пока не кончится файл

{ fscanf(in,”%s”,&s); // чтение строки из файла

l=strlen(s); // определяем длину строки

if (s[l-1]==’.’) // если строка заканчивается точкой

fprintf(out,”%s\n”,s); // запишем её в другой файл

}

fclose(out);

out=fopen(”H:\\2.txt”,”rt”);

while ( feof(out) )

{ fscanf(out,”%s”,&s);

printf(”%s\n”,s);

}

fclose(in);

fclose(out);

}

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