Книга: Программирование для Linux. Профессиональный подход

Листинг Б.1. (createfile.c) Создание файла

Листинг Б.1. (createfile.c) Создание файла

#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char* argv[]) {
 /* Путевое имя нового файла */
 char* path = argv[1];
 /* Права доступа к файлу. */
 mode_t mode =
  S_IRUSR | S_IWUSR| S_IRGRP | S_IWGRP | S_IROTH;
 /* Создание файла. */
 int fd = open(path, O_WRONLY | O_EXCL | O_CREAT, mode);
 if (fd == -1) {
  /* Произошла ошибка. Выводим сообщение и завершаем работу. */
  perror("open");
  return 1;
 }
 return 0;
}

Результаты работы программы будут такими:

% ./create-file testfile
% ls -l testfile
-rw-rw-r-- 1 samuel users 0 Feb 1 22:47 testfile
% ./create-file testfile
open: File exists

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

Оглавление книги


Генерация: 1.258. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз