Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Низкоуровневый доступ к файлам.doc
Скачиваний:
2
Добавлен:
20.09.2019
Размер:
156.16 Кб
Скачать

Int main()

{

int in, out, nread, seek;

in = open("file.in",O_RDWR);

out = open("file.out", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);

int in2 = dup(in);

seek = lseek(in, 0, SEEK_END);

if(write(in2, "Some add of data\n", 17) != 17)

write(out,"Error writing in file.in\n",25);

else

{

lseek(in, 0, SEEK_SET);

char buffer[1024];

if((nread = read(in, buffer, 1024)) == 0)

{

write(1,"Error read of file\n", 19);

exit(0);

}

write(out,buffer,nread);

lseek(in2,0,SEEK_SET);

write(in2,"\n\n",1);

struct stat statbuf;

mode_t modes;

stat(out, &statbuf);

modes = statbuf.st_mode;

if (!S_ISDIR(modes) && (modes & S_IRWXU) = (S_IRUSR | S_IWUSR))

write(1, "This is text file!\n", 19);

close(in);

close(in2);

close(out);

}

exit(0);

}