Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

15_Files

.pdf
Скачиваний:
9
Добавлен:
14.05.2015
Размер:
2.08 Mб
Скачать

Файлы

Алтайский государственный университет Математический факультет Кафедра информатики

Барнаул 2009

 

 

 

 

План

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лекция 12

Текстовые файлы

Бинарные файлы

Прочие функции для работы с файлами

Предопределенные файлы

Несколько заданий для самопроверки

 

 

 

 

Три задания для самопроверки

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 1

Что выведет на экран следующая программа?

#include <stdio.h>

void main(){

char x[80] = "А вы знаете, что 2x2=4?“; *(x+1) = ’ж’ - 3;

*(x+2) = x[7]; x[3] = 0; printf("%s",x);

}

Ага

 

 

 

 

Три задания для самопроверки

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 2

Перепишите следующий фрагмент программы, используя цикл do…while вместо цикла while.

int Sum = 0;

 

 

int Sum = 0;

int Max = 1900;

 

int Max = 1900;

while (Max <

1950) {

 

do {

Sum = Sum

+ (Max - 1900);

 

Sum = Sum + (Max - 1900);

printf("Sum: %d\n",Sum);

 

printf("Sum: %d\n",Sum);

Max = Max + 5;

 

Max = Max + 5;

}

 

 

} while (Max < 1950);

 

 

 

 

 

 

 

 

Три задания для самопроверки

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 3

Перепишите следующий фрагмент программы, используя цикл do…while вместо цикла while.

int Sum = 0; int Max;

printf("Max="); scanf("%d",&Max);

while ((Max < 1950)){

Sum = Sum + (Max - 1900); printf("Sum: %d\n",Sum); Max = Max + 5;

}

int Sum = 0; int Max;

printf("Max="); scanf("%d",&Max);

if(Max < 1950) do {

Sum = Sum + (Max - 1900); printf("Sum: %d\n",Sum); Max = Max + 5;

} while (Max < 1950);

Текстовые файлы

Общие сведения

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

Возможные ошибки

Чтение/запись в текстовые файлы

Примеры

 

 

 

 

Текстовые файлы

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Файлы

Файл – это область на диске, имеющая имя.

Файлы

Текстовые

только текст без оформления, не содержат управляющих символов (с кодами < 32), кроме перевода строки

ACSII (1 байт на символ) UNICODE (2 байта на символ)

*.txt, *.log, *.htm, *.html

Двоичные

Папки

(каталоги)

могут содержать любые

 

символы кодовой таблицы

 

*.doc, *.exe, *.bmp, *.jpg, *.wav, *.mp3, *.avi, *.mpg

 

 

 

 

Текстовые файлы

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Принцип сэндвича Переменная типа

«указатель на файл»:

FILE *f;

I этап. открыть файл (сделать его активным, приготовить к работе)

для чтения ("r", англ. read)

f = fopen("qq.dat", "r");

для записи ("w", англ. write)

f = fopen("qq.dat", "w");

для добавления ("a", англ. append)

f= fopen("qq.dat", "a");

IIэтап: работа с файлом

fscanf ( f, "%d", &n ); // ввести значение n fprintf( f, "n=%d", n ); // записать значение n

III этап: закрыть (освободить) файл

fclose ( f );

 

 

 

 

Текстовые файлы

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа с файлами

Особенности:

имя файла упоминается только в команде fopen, обращение к файлу идет через указатель f;

файл, который открывается на чтение, должен

существовать

если файл, который открывается на запись, существует, старое содержимое уничтожается

данные (этим способом) записываются в файл в текстовом виде

когда программа заканчивает работу, все файлы закрываются автоматически

после закрытия файла переменную f можно использовать еще раз для работы с другим файлом