Слайд 2Пример 1. Функция feof()
FILE *fp;
char c;
fp = fopen("my_text.txt", "rt");
![Пример 1. Функция feof() FILE *fp; char c; fp = fopen("my_text.txt", "rt");](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-1.jpg)
while( !feof(fp) ) // Пока не достигнут конец файла
{
c = getc(fp);
putchar(c);
}
. . .
Слайд 3Предотвращение зацикливания
int k=0;
. . .
while( условие )
{
![Предотвращение зацикливания int k=0; . . . while( условие ) { k++;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-2.jpg)
k++;
if( k>1000) {
write(“k==%d\n”, k);
break; }
// тело цикла
}
Слайд 4Пример 2. Текстовый файл
вывести на экран построчно
char buf[81];
FILE *fp;
fp = fopen("mytext.txt",
![Пример 2. Текстовый файл вывести на экран построчно char buf[81]; FILE *fp;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-3.jpg)
“rt");
while(!feof(fp))
{
fgets(buf, 80, fp); // Чтение строки из файла
printf(“%s”, buf);
}
Слайд 5Создать текстовый файл, представленный в виде строк
Точка – окончание ввода
Мама
мыла
раму
.
![Создать текстовый файл, представленный в виде строк Точка – окончание ввода Мама мыла раму .](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-4.jpg)
Слайд 6Пример 3а. Создать текстовый файл, представленный в виде строк
char buf[101];
FILE *fp;
fp =
![Пример 3а. Создать текстовый файл, представленный в виде строк char buf[101]; FILE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-5.jpg)
fopen("mytext.txt", "wt");
scanf(”%s”, buf); // Ввели строку 1-ю строку
while( buf[0] != ‘.’ ) // Точка – окончание ввода
{
fputs(buf, fp); // Запись строки в файл
scanf(“%s”, buf);
}
Слайд 8Пример 3б. Создать текстовый файл, представленный в виде строк
char buf[101];
FILE *fp;
fp =
![Пример 3б. Создать текстовый файл, представленный в виде строк char buf[101]; FILE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-7.jpg)
fopen("mytext.txt", "wt");
scanf(”%s”, buf); // Ввели строку 1-ю строку
while(buf[0] != ‘.’) // Точка – окончание ввода
{
fputs(buf, fp); // Запись строки в файл
putc(‘\n’, fp); // Дописываем в файл символ перевода строки
scanf(“%s”, buf);
}
Слайд 10Пример 4. Функция fgets()
После операции чтения из файла файловый указатель смещается на
![Пример 4. Функция fgets() После операции чтения из файла файловый указатель смещается](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-9.jpg)
количество прочитанных символов.
while(fgets(buf, 80, fp) != NULL)
{
printf(“%s”, buf);
}
Слайд 11Другие возможности
при открытии файла
rt - открыть текстовой файл для чтения;
wt
![Другие возможности при открытии файла rt - открыть текстовой файл для чтения;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-10.jpg)
- создать текстовый файл для записи;
at - дополнить текстовый файл;
rt+ - открыть текстовой файл для чтения и записи;
wt+ - создать текстовый файл для чтения записи;
at+ - дополнить текстовый файл с предоставлением возможности записи и чтения.
Слайд 12Пример 5а.
FILE *f1, *f2;
f1 = fopen(“text1.txt", “rt+");
f2 = fopen(“text2.txt", “rt");
![Пример 5а. FILE *f1, *f2; f1 = fopen(“text1.txt", “rt+"); f2 = fopen(“text2.txt",](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-11.jpg)
while (fgets(buf, 80, f1) != NULL ); // указатель установился в конце файла
while(fgets(buf, 80, f2) != NULL)
{
fputs(buf, f1); // Запись строки в файл
}
Слайд 13Пример 5б.
FILE *f1, *f2;
f1 = fopen(“text1.txt", “at");
f2 = fopen(“text2.txt", “rt");
![Пример 5б. FILE *f1, *f2; f1 = fopen(“text1.txt", “at"); f2 = fopen(“text2.txt",](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-12.jpg)
while(fgets(buf, 80, f2) != NULL)
{
fputs(buf, f1); // Запись строки в файл
}
Слайд 14Пример 6. Создать файл из
10 целых чисел
FILE *f;
f = fopen(“numbers.num", “wb");
![Пример 6. Создать файл из 10 целых чисел FILE *f; f =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1098282/slide-13.jpg)
int i, n;
for(i=0; i<10; i++)
{
scanf(“%d”, &n);
fpintf(f, “%6d”, n);
}
Какова максимальная разрядность вводимых чисел?