GIÁO TRÌNH HỆ ĐIỀU HÀNH UNIX - LINUX - Trang 154

1
5

phép sử dụng khi giá trị -1 thay đổi. Giá trị trả về là 0 nếu thành công và –1 nếu gặp lỗi
(kiểm tra biến errno).

Thông thường người dùng có thể thay đổi nhóm các file thuộc về họ. Chỉ root mới có

quyền thay đổi người chủ sở hữu của nhiều nhóm.

Hàm fchdir( )

Lời gọi hàm fchdir( ) thay đổi thư mục bằng cách mở file được mô tả bởi biến fd. Giá

trị trả về là 0 nếu thành công và –1 nếu có lỗi (kiểm tra biến errno).

#include <unistd.h>
int fchdir(int fd);

Một ví dụ về cách sử dụng các hàm thao tác với file:

/* filedes_io.c */
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <fcntl.h>
#include <unistd.h>

#include < assert.h>
#include <errno.h>
#include <string.h>
#include <stdio.h> /*for print */
char sample1[] = “This is sample data 1\n”;
char sample2[] = “This is sample data 2\n”;
char data[16];

main ( )
{

int fd;

int rc;

struct stat

statbuf;


printf( “Creating file\n”);

fd = open(“junk.out”, 0_WRONLY | 0_CREAT| 0_TRUNG, 0666);

assert(fd>=0);


rc = write(fd, sample1, strlen(sample 1) );

assert(fd>=0);


rc = write(fd, sample1, strlen(sample1));

assert(rc == strlen(sample1));

close(fd);