Теория вычислительных процессов и структур
| Категория реферата: Рефераты по математике
| Теги реферата: реферат по географии, изложение по русскому 6 класс
| Добавил(а) на сайт: Набережнев.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Второй аргумент системного вызова open - flags - имеет целочисленный тип и определяет метод доступа. Параметр flags принимает одно из значений, заданных постоянными в заголовочном файле <fcnt1.h> при помощи директивы препроцессора #define ( fcnt1 является сокращением от file control - «управление файлом»). В файле <fcnt1.h> определены три постоянных:
O_RDONLY – открыть файл только для чтения,
O_WRONLY – открыть файл только для записи,
O_RDWR – открыть файл для чтения и записи.
В случае успешного завершения вызова open и открытия файла возвращаемое вызовом open значение будет содержать неотрицательное целое число – дескриптор файла. В случае ошибки вызов open возвращает вместо дескриптора файла значение –1. Это может произойти, например, если файл не существует.
Третий параметр mode, является необязательным, он используется только вместе с флагом O_CREAT.
Следующий фрагмент программы открывает файл junk для чтения и записи и проверяет, не возникает ли при этом ошибка. Этот последний момент особенно важен: имеет смысл устанавливать проверку ошибок во все программы, которые используют системные вызовы, поскольку каким бы простым ни было приложение, иногда может произойти сбой. В приведенном ниже примере используются библиотечные процедуры printf для вывода сообщения и exit – для завершения процесса:
# include <stdlib.h> /* Для вызова exit */
# include <fcnt1.h>
char workfile=”junk”; / Задать имя рабочего файла */
main()
{
int filedes;
/* Открыть файл, используя постоянную O_RDWR из <fcnt1.h> */
/* Файл открывается для чтения / записи */
if ((filedes=open(workfile, O_RDWR)) = = -1)
{
printf (“Невозможно открыть %sn”, workfile);
exit (1); /* Выход по ошибке */
}
/* Остальная программа */
exit (0); /* Нормальный выход */
}
Вызов open может использоваться для создания файла, например:
filedes = open (“/tmp/newfile”, O_WRONLY | O_CREAT, 0644);
Рекомендуем скачать другие рефераты по теме: правила реферата, bestreferat.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата