ВУЗ:
Составители:
7
}
if((fdOut=open(OutName, O_WRONLY|O_CREAT,644))==-1){
perror("Ошибка открытия выходного файла");
close(fdIn);
_exit(-2);
}
// Цикл копирования
while((nRd=read(fdIn, buf, 256))>0){
if(write(fdOut, buf, nRd)<nRd){
perror("Ошибка записи");
close(fdIn);
close(fdOut);
_exit(-3);
}
}
close(fdIn);
close(fdOut);
printf("Завершение программы\n");
_exit(0);
}
При открытии входного файла задается ключ режима работы с файлом
"только для чтения" (O_RDONLY). Функция возвращает дескриптор открытого
файла. В случае ошибки возвращается -1. Для вывода сообщения об ошибке ис-
пользуется функция perror(). Эта функция выводит задаваемый ей
в качестве
аргумента текст. Кроме того, функция обрабатывает системный номер ошибки
(errno) и добавляет в выводимую строку системное сообщение об ошибке.
Функция, открывающая выходной файл возвращает дескриптор выходного
файла. Эта функция выполняется с режимами "только для записи" (O_WRONLY)
и с ключом создания нового файла (O_CREAT). Кроме этого, при вызове функ-
ции используется
третий параметр (644), определяющий права доступа к созда-
ваемому файлу (чтение и запись для владельца и только чтение для остальных
пользователей).
Лабораторные задания
В соответствии с вариантом задания разработать и отладить программу.
Исходные данные вводятся с клавиатуры и записываются в текстовый файл.
Программа читает эти данные, после обработки результаты также помещаются в
файле.
Варианты заданий
1. Из текста удалить четвертое слово.
2. Сформировать файл, содержащий записи по результатам сдачи очередного эк-
замена студентами группы. Из файла выбрать записи для студентов, получив-
ших отличные оценки и записать их в новый файл.
} if((fdOut=open(OutName, O_WRONLY|O_CREAT,644))==-1){ perror("Ошибка открытия выходного файла"); close(fdIn); _exit(-2); } // Цикл копирования while((nRd=read(fdIn, buf, 256))>0){ if(write(fdOut, buf, nRd)
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »