金融行业seo整站优化,建设项目流程八个阶段,wordpress 添加友情,遵义本地网1.什么是文件 对于文件来说#xff0c;文件文件内容文件属性#xff1b;对于文件来说#xff0c;只有两种操作#xff0c;对内容的修改和对文件属性的修改#xff0c;这就是文件的范畴。 对于存放在磁盘上的文件#xff0c;我们需要通过进程来进行访问#xff0c;访问文…1.什么是文件 对于文件来说文件文件内容文件属性对于文件来说只有两种操作对内容的修改和对文件属性的修改这就是文件的范畴。 对于存放在磁盘上的文件我们需要通过进程来进行访问访问文件需要先写代码然后编译形成可执行文件然后运行最后访问文件。 所以想要文件修改文件的内容只能是操作系统才可以实现如果是用户想要实现就必须使用操作系统提供的接口函数才能实现。 2.文件操作 对于操作系统提供的文件接口函数来说它太过于复杂我们先来了解语言层级的文件接口语言级的文件操作处于就是对于将系统级文件接口进行封装然后展现给用户的所以语言级的文件操作函数就是一层外壳其核心本质还是操作系统的文件操作。 为什么要实现语言级的函数呢 为了实现语言的跨平台性对于不同的操作系统来说都有一套对应的文件操作函数为了在各个平台上都可以打开同一份文件所以语言对其进行了封装使其可以在不同的平台上运行。 我们以C语言的文件操作函数为例 文件操作函数基本用法 结果 对于fprintf(),fwrite(),fputs()三个函数来说都是向文件中写入内容的只是具体的操作不同而已。我们拿fputs()为例研究。 对于fputs()来说 结果 说明我们可以使用文件操作函数直接向显示器打印内容说明显示器也可以是一个文件所以向磁盘中输入和向显示器中打印本质是一样的所以它俩本质是没有区别的向显示器打印也是一种写入。 所以在Linux下一切皆是文件 3.系统文件操作 有时候我们可以不用语言级接口调用而直接使用系统提供的函数进行文件操作这样的程序不具有跨平台性但却依然存在。所以我们依然需要知道系统文件操作函数。 Linux认为一切皆文件。 什么叫做文件呢 对于操作系统来讲只要可以input读取或者可以output写出的设备就叫文件狭义的文件普通的文件广义的文件显示器键盘网卡显卡磁盘等几乎所有的外设都可以称之为文件。 系统文件操作函数 这里只介绍常见的函数open、read、wirte和close 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);//打开没有存在的文件需要设置权限具体查看man手册。 第一个参数为文件名第二个为标志位第三个为文件权限标志位可以有个中间用 或操作符连接 比如 O_RDONLY|O_WRONLY|O_RDWR 第二个参数O_RDONLY: 只读打开 O_WRONLY: 只写打开 O_RDWR : 读写打开 这三个常量必须指定一个且只能指定一个 O_CREAT : 若文件不存在则创建它。需要使用mode选项来指明新文件 的访问权限 O_APPEND: 追加写 使用 打开成功返回文件描述符失败返回-1。 文件描述符就是一个小整数最小0开始012默认为 stdin,stdout,stderr,如果这三个文件没有被关闭则创建的文件的文件描述符从3开始如果被关闭则从最小的被关闭的文件描述符开始比如 结果 read() 函数使用 ssize_t read(int fd, void *buf, size_t count); 将文件找那个的内容读出来 fd 在文件描述符为fd的文件中开始读 buf 把读得内容从buf的位置开始存放 count 从buf位置开始存放count个字节 成功返回实际读取数据的字节数 失败返回-1 write()函数使用 ssize_t write(int fildes, const void *buf, size_t nbyte); fd 在文件描述符为fd的文件中进行写入 buf 从buf位置开始读取数据 nbyte 从buf位置开始读取nbyte个字节到文件中 成功返回实际写入数据的字节数 失败返回-1 close()函数 int close(int fd); 关闭文件