1.創建文件
int creat(const char * filename, mode_t mode)
filename:要創建的文件名(包含路徑,缺省爲當前路徑)
mode:創建模式
常見創建模式:
S_IRUSR 可讀
S_IWUSR 可寫
S_IXUSR 可執行
S_IRWXU 可讀、寫、執行
除使用宏外,還可以直接用數字來表示1(可執行),2(可寫),4(可寫)
void create_file(char *filename)
{
if (creat(filename, 0755) < 0)
{
printf("create file %s failure!\n", filename);
exit(EXIT_FAILURE);
}
else
{
printf("create file %s success!\n", filename);
}
}
2.int open(const char *pathname, int flags)
int open(const char *pathname, int flags, mode_t mode)
flag:打開標誌
O_RDONLY 只讀方式打開
O_WRONLY 只寫方式打開
O_RDWR 讀寫方式打開
O_APPEND 追加方式打開
O_CREAT 創建一個文件
O_NOBLOCK 非阻塞方式打開
如果使用O_CREATE標誌,則使用int open(const char *pathname, int flags, mode_t mode)
3.關閉 int close (int fd)
4.讀 int read(int fd, const void *buf, size_t length)
5.寫 int write(int fd, const void *but, size_t length)
6.定位 int lseek (int fd, offset_t offset, int whence)
whence :
SEEK_SET:相對文件開頭
SEEK_CUR:相對文件讀寫指針的當前位置
SEEK_END:相對文件末尾
offset可取負值,表示向前移動
7.訪問判斷 int access(const char *pathname, int mode)
mode :可取R_OK,W_OK,X_OK,F_OK(文件存在)的值或者它們的組合
測試成功返回0,否則-1