LinuxC编程实战之文件操作

来源:互联网 发布:golang ide 编辑:程序博客网 时间:2024/05/16 05:13

1.open函数

#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);调用成功返回一个文件描述符,失败返回-1.

2.creat函数

#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, mode_t mode);调用成功返回一个文件描述符,失败返回-1.Note:creat只能以只写的方式打开创建的文件,creat无法创建设备文件,设备文件的创建要使用mknod函数.

3.close函数

#include <unistd.h>int close(int fd);调用成功返回0,失败返回-1.Note:close函数调用成功时并不保证数据能全部写回硬盘.

4.lseek函数

#include <sys/types.h>#include <unistd.h>off_t lseek(int fildes, off_t offset, int whence);调用成功返回新的偏移量,失败返回-1.Note:打开文件时通常读写位置是指向文件开头,若是追加方式打开文件,读写位置会指向文件尾.

5.stat函数

#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat(const char *file_name, struct stat *buf);int fstat(int filedes, struct stat *buf);int lstat(const char *file_name,struct stat *buf);调用成功返回0,失败返回-1.

6.utime函数

#include <sys/types.h>#include <utime.h>int utime(const char *filename, struct utimebuf *buf);#include <sys/time.h>int utimes(char *filename,struct timeval *tvp);调用成功返回0,失败返回-1.Note:utime系统调用会把由第一个参数filename指定的文件的存取时间改为第二个参数buf的actime域,把修改时间改为第二个参数buf的modtime域,如果buf是一个空指针,则存取时间和修改时间都改为当前时间.

7.getcwd函数

#include <unistd.h>char *getcwd(char *buf, size_t size);char *get_current_dir_name(void);char *getwd(char *buf);成功则将结果复制到参数buf所指的内存空间,或是返回自动配置的字符串指针,失败返回NULL.Note:getcwd会将当前的工作目录绝对路径复制到参数buf所指的内存空间,buf所指的内存空间要足够大.

8.opendir函数

#include <sys/types.h>#include <dirent.h>DIR *opendir(const char *name);成功返回DIR*型态的目录流,失败则返回NULL.

9.readdir函数

#include <sys/types.h>#include <dirent.h>struct dirent *readdir(DIR *dir);struct dirent{    long d_ino;   //目录i节点编号    off_t d_off;  //目录开头至此目录进入点的位移    unsigned short d_reclen;  //文件名的长度    char d_name [NAME_MAX+1]; //以NULL结尾的文件名};函数执行成功返回该目录下一个文件信息,第一次调用返回第一个文件信息,第二次调用返回第二个,以此类推;函数调用如有错误发生或读取到目录文件尾,则返回NULL.

10.closedir函数

#include <sys/types.h>#include <dirent.h>int closedir(DIR *dir);closedir用来关闭参数dir指向的目录,执行成功返回0,当有错误发生时返回-1.
1 0
原创粉丝点击