当前位置: 首页 > news >正文

排名前十的广告公司武汉seo服务

排名前十的广告公司,武汉seo服务,张店做网站,做网站推广优化哪家好欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻文件是什么?&am…

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析(3)

在这里插入图片描述


目录

  • 👉🏻文件是什么?
  • 👉🏻C常见文件接口复习
  • 👉🏻open函数
    • 文件返回值fd
    • 进程和打开文件的对应关系,如何进行维护?
    • 如何看待一切皆文件?
  • 👉🏻write函数

👉🏻文件是什么?

文件 = 内容+属性
所有对文件的操作:a.对内容操作 b.对属性操作。
内容是数据,属性其实也是数据。我们访问一个文件(我们是一个进程!),一个文件打开前是:普通的磁盘文件,打开后:将文件加载到内存
一个进程可以打开多个文件

我们研究文件操作的本质:就是进程被打开文件的关系

进程通过操作系统打开文件,而操作系统提供接口(如fopen)给进程打开磁盘中的文件。

操作系统访问硬件磁盘中的文件,要加载到内存中,而操作系统要管理文件,必须先描述,再组织,所以一个文件的要被打开,一定先在内核中形成被打开的文件对象,即描述PCB

👉🏻C常见文件接口复习

1.fopen以写的形式打开,源文件内容会被清空

2.向文件写入字符串,strlen(str),不需要加+1,即不用写入\0

👉🏻open函数

C语言中的open()函数是打开文件的函数,它可以用于创建或打开文件,并返回一个文件描述符(file descriptor)。

open()函数的声明如下:

#include <fcntl.h>int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

其中,第一个参数pathname是指要打开(或创建)的文件的路径名,这个参数是必须的。第二个参数flags是一个控制文件打开方式的标志,这个参数也是必须的。第三个参数mode表示新建文件时的权限,只有在创建新文件时才需要传入。

flags参数常用的取值如下:

  • O_RDONLY:只读模式打开文件
  • O_WRONLY:只写模式打开文件
  • O_RDWR:读写模式打开文件
  • O_CREAT:如果文件不存在则创建文件
  • O_TRUNC:如果文件已经存在,则把文件截断为0长度
  • O_APPEND:以追加模式打开文件

mode参数常用的取值如下:

  • S_IRUSR:用户读权限
  • S_IWUSR:用户写权限
  • S_IXUSR:用户执行权限
  • S_IRGRP:组读权限
  • S_IWGRP:组写权限
  • S_IXGRP:组执行权限
  • S_IROTH:其他用户读权限
  • S_IWOTH:其他用户写权限
  • S_IXOTH:其他用户执行权限

open()函数返回一个文件描述符,这个描述符是一个整数值,它是操作系统为了方便管理文件而提供的一种接口。在后续的文件读写等操作中,我们可以使用这个文件描述符来指代该文件。

如果open()函数执行成功,则返回一个非负整数(文件描述符),否则返回-1。通常,当返回-1时,errno变量会被设置为下面的某个值来表示错误原因:

  • EACCES:无法访问指定文件
  • ENOENT:指定文件不存在
  • EEXIST:文件已经存在,但打开标志中指定了O_CREAT标志
  • EINVAL:打开标志无效

例如,要以只读模式打开一个文件,可以这样调用open()函数:

int fd;
fd = open("/path/to/file", O_RDONLY);
if (fd == -1) {perror("Error opening file");exit(EXIT_FAILURE);
}

在使用完文件后,应该使用close()函数关闭文件描述符:

int ret;
ret = close(fd);
if (ret == -1) {perror("Error closing file");exit(EXIT_FAILURE);
}

这是open()函数的基本用法,还有一些高级用法,比如使用open()函数打开套接字或管道等,不过这些用法超出了本回答的范围。

文件返回值fd

文件的返回值fd是一个连续的小整数,fd的本质就是进程文件描述符表数组的下标!

而OS会默认先打开三个标准文件,标准输入stdin,标准输出stdout,标准错误stderr,下标分别为0,1,2。OS默认打开这三个标准,就是为了让程序员默认进行输入输出代码编写。

进程和打开文件的对应关系,如何进行维护?

在这里插入图片描述

如何看待一切皆文件?

在这里插入图片描述
stdin,stdout,stderr这些标准文件,都有来实现读写功能的函数,而文件PCB中存储着这些函数的函数指针。

👉🏻write函数

write()函数是C语言中用于向文件描述符(或者套接字)中写入数据的函数。

write()函数的声明如下:

#include <unistd.h>ssize_t write(int fd, const void *buf, size_t count);

其中,fd是要写入的文件描述符,buf是指向要写入数据的缓冲区的指针,count是要写入的字节数。

write()函数的返回值是成功写入的字节数,如果出现错误,则返回-1,并设置全局变量errno以指示错误类型。

下面是一个简单的示例,演示如何使用write()函数向文件中写入数据:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>int main() {int fd;ssize_t bytes_written;const char *str = "Hello, world!\n";fd = open("output.txt", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);if (fd == -1) {perror("open");exit(EXIT_FAILURE);}bytes_written = write(fd, str, strlen(str));if (bytes_written == -1) {perror("write");exit(EXIT_FAILURE);}close(fd);return 0;
}

在这个示例中,首先使用open()函数打开一个文件,然后使用write()函数向这个文件中写入数据,最后使用close()函数关闭文件描述符。

需要注意的是,write()函数是以字节为单位进行写入的,如果要写入一个字符串,需要使用strlen()函数来获取字符串的长度。此外,write()函数并不会自动在字符串的末尾添加空字符(‘\0’),所以在写入字符串时需要确保字符串以null结尾,或者传入字符串长度时包含结尾的null字符。


如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长
在这里插入图片描述
在这里插入图片描述

http://www.yidumall.com/news/79085.html

相关文章:

  • 江苏省城乡和建设厅网站优化排名
  • 做网站优化常用工具优化游戏卡顿的软件
  • 成都编程培训机构排名南平seo
  • 深圳大浪有做网站的吗大数据精准营销系统
  • 高台县建设局网站百度联盟怎么赚钱
  • 广州营销咨询公司seo名词解释
  • 国家建设网站深圳seo教程
  • 在线下单网站怎么做下载app到手机上并安装
  • 免费网站容量大重庆网站seo好不好
  • 怎么自己做blog网站谷歌代理
  • 本地的丹阳网站建设网推平台有哪些比较好
  • discuz做地方门户网站百度扫一扫识别图片
  • 做网站放什么软件什么公司适合做seo优化
  • 网站建立步骤大数据营销案例
  • wp网站源码国内最好的搜索引擎
  • 可视化网站建设软件有哪些2023年7月疫情还会严重吗
  • 苏州电子商务网站建设原版百度
  • 苏州木渎做网站免费b站推广网址有哪些
  • 做游戏网站给人诈骗网页设计排版布局技巧
  • seo推广优化公司网络优化大师下载
  • 那些网站做的比较好西安网站制作工作室
  • 物业公司网站建设策划书郑州做网站推广资讯
  • 长沙建网站速成班太原整站优化排名外包
  • 防盗网站人做清洁系统优化工具
  • 官方网站优化方法精准营销包括哪几个方面
  • 做外贸网站咨询百度推广怎么优化排名
  • 做直播网站要什么证吗网站建设报价方案
  • 湖南做网站seo谷歌搜索优化
  • 网站建设首先要百度seo公司
  • 网上移动厅官方网站销售人员培训课程有哪些