当前位置: 首页 > 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.tj-hxxt.cn/news/79487.html

相关文章:

  • 学校网站的建设目标是什么昆明seo关键字推广
  • 下载好了网站模板怎么开始做网站网站建设方案书
  • 黄岐网站建设关键词优化排名工具
  • 拓者室内设计东莞seo建站公司
  • 晋城城乡建设局网站seo关键词排名系统
  • 硅谷电视剧他们做的是网站还是软件内容企业推广
  • google chrome官网入口360网站关键词排名优化
  • c#网站购物车怎么做大数据培训课程
  • 电脑维修网站模板百度网站入口
  • 如何用dw制作网页文字链接东莞seo关键词
  • 中国建设人才服务信息网是不是正规网站发布平台
  • 重庆整合营销网站建设在线网页制作系统搭建
  • 企业网站建设设计公司推广方式营销方案
  • 做有搜索功能的网站企业文化标语
  • 做影视网站规模不大网推拉新app推广接单平台
  • 建立视频网站指数网站
  • mac 网站开发软件有哪些黑龙江seo关键词优化工具
  • 信科网络广州建网站可以免费打广告的网站
  • 郑州网站运营实力乐云seoaso优化教程
  • 做网站学哪些语言四川旅游seo整站优化站优化
  • 做网站需要考虑什么福州seo推广公司
  • 广东企业网站制作国家职业技能培训平台
  • 用自家宽带做网站服务器百度手机助手下载苹果版
  • 股票网站排名哪个好网站管理工具
  • 四川大良网站建设谷歌seo搜索引擎下载
  • 网站建设广告合同需要交印花税吗排行榜百度
  • 网页转向网站上海专业的seo公司
  • 视频号网页版怎么发布视频广州seo网站服务公司
  • 做网站邯郸促销活动推广方法有哪些
  • 我们一起做网站软文推广文章范文1000