Linux下 C语言文件IO操作(系统IO)

    科技2026-04-19  4

    Linux系统下使用C语言进行文件系统IO操作

    1打开文件

    函数:int open(const char *,int flags); //打开一个已经存在的文件

    int open(const char *,int flags,mode_t mode); //打开一个不存在的文件

    头文件: #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> 参数: 1:将要打开的文件的路径及其文件名 2:文件的打开方式: 打开常用方式:O_RDONLY 只读方式打开 O_WRONLY 只写方式打开 O_RDWR 读写 O_CREAT 若文件不存在则创建 O_TRUNC 清空文件内容 O_APPEND 追加文件内容 通常使用(O_WRONLY | O_CREAT | O_TRUNC) 3:若要创建文件则要给予此文件一个访问权限,例如 0644 读写权限;0777 读写可执行权限 返回值:打开成功则返回文件描述符(也就是一个数组下标)


    2读取文件

    函数:ssize_t read(int fd,void *buf,size_t count);

    头文件: #include<unistd.h> 参数1:待读取的文件的文件描述符 参数2:读取数据存储的buf 参数3:读取的字节数 返回值:成功:返回读取的字节数;失败:返回-1


    3写入文件

    函数:ssize_t write(int fd,const void *buf,size_t count);

    头文件: #include <unistd.h> 参数1:待写入的文件的文件描述符 参数2:待写入的数据存储的buf 参数3:待写入的字节数 返回值:成功:返回写入的字节数,失败:返回-1


    ### 4关闭文件 #### 函数:int close(int fd); 参数1:所需要关闭的文件的文件描述符
    ###### 例如:创建一个文件并将将一段文字写入文件。 #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc,char *argv[]) { int file; file = open("1.txt",O_RDWR | O_CREAT | O_TRUNC, 0644); char M[20] = {"薛定鄂的海豚"}; int n = write(file,M,18); printf("写入的字节数为:%d\n",n); close(file); return 0; }

    运行:

    Processed: 0.018, SQL: 9