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

数据来源于网站怎么做参考文献营销的目的有哪些

数据来源于网站怎么做参考文献,营销的目的有哪些,什么是响应网站设计,男女做爰网站1.回顾一下文件 我们之前对文件的理解是在语言层上&#xff0c;而语言层去理解文件是不可能的&#xff01;&#xff01;&#xff01; 下面是一份c语言文件操作代码&#xff01;&#xff01;&#xff01; #include<stdio.h> int main() {FILE* fd fopen("lo…

1.回顾一下文件

我们之前对文件的理解是在语言层上,而语言层去理解文件是不可能的!!!

下面是一份c语言文件操作代码!!!

#include<stdio.h>      int main()
{FILE* fd = fopen("log.txt", "w");if(fd == NULL){perror("fopen");return 1;}fclose(fd);                 return 0;                 
}     

 我们要进行文件操作,前提是我们的程序跑起来了。

文件打开和关闭是,是CPU在执行我们的代码。

 w含义:

1.如果不存在,就在当前路径下,新建指定的文件。

2.默认打开文件的时候。就先把目标文件清空!--》所以可以用来新建文件,清空文件!

50aeeb0185fd4927aa77acac32da1fa9.png

 我们又使用输出重定向符号操作文件,我们发现文件被清空了,输出重定向一定是文件操作!!!

2.文件进一步理解

打开文件本质其实进程(task_struct)打开文件(struct xxxx)

文件没有被打开时,在哪里?磁盘存在

1.进程能打开很多文件吗?可以

2.系统中可不可以存在很多进程呢??

很多情况下,os内部,一定存在大量的被打开的文件。OS要不要把这些打开的文件进行管理呢?

重点来了,讲到管理,就要先描述,在组织!!!

那预言一波可知:每一个被打开的文件,在OS内部,一定要存在对应的描述文件属性的结构体,类似PCB。

文件 = 属性 + 内容。

  7 int main()8 {9     FILE* fp = fopen("log.txt", "a");10     if(fp == NULL)11     {12         perror("fopen");13         return 1;                                                                                                                                                                    14     }15     fprintf(fp, "hello Linux!, %d", 10);16 17     fclose(fp);18     return 0;19 }

465d1ee2f3ef4d27ab61e57f57ec4672.png

 a含义:向文件中追加字符串,不会清空文件。

且追加重定向符号也可作此操作,可见重定向操作一定是文件操作!!!

c/c++/java/python访问文件的方式有些不一样!!!

3.理解文件

a.操作文件,本质:进程在操作文件。进程和文件的关系

b.文件->磁盘->外设->硬件->向文件中写入,本质是向硬件中写入->用户没有权利直接写入->OS是硬件的管理者->通过OS写入->OS必须给我们提供系统调用(OS不相信任何人)(访问文件我们也可以使用系统调用啊!)->fopen/fread/fwrite/fclose/scanf/cin/cout?->我们用的c/c++...都是对系统调用接口的封装!

为什么?怎么办?

e0d641e23cf6459292c80049e6295fe5.png

 

 认识一下系统调用并且使用。

#include<stdio.h>      
#include<unistd.h>      
#include<sys/types.h>      
#include<sys/stat.h>      
#include<fcntl.h>      int main()      
{      umask(0);      int fd = open("bite1.txt", O_WRONLY | O_CREAT, 0666);                                                                                                                                if(fd < 0)    {    perror("open");    return 1;    }    close(fd);    return 0;       
} 

这是一个使用系统调用操作文件的程序,那么umask是可以设置 当前进程的掩码为0,使得我们在open第三个参数设置权限位时不会受到掩码的影响。

第二个参数是用的宏来代表是写还是读等操作,以位图的方式存储对应数据。

4f58bf918155492ba28bc8e9e0ab3e06.png

32个比特位。用比特位来进行标志位的传递。 ---- OS设计很多系统调用接口的方法。

fe5833fed9a74ab3837a993ea7ccb655.png

open: 以写的方式打开,不存在就创建,存在就先清空!

 open与fopen什么联系?

ff979fcf09ca455fb42513725e316a33.png

0:标准输入(键盘)

1:标志输出(显示器)

2:标志错误(显示器)

30dc29417ede4c628a2c97bb9fdd2a5a.png

 这些又有什么联系?

我们在进程中去打开多个文件时的open返回值从3开始依次增加是怎么回事?

文件描述符fd,fd的本质是什么?

那就说个结论吧:其实是内核的进程:文件映射关系的数组的下标!

06d3dce07626444393f28d9e1774dead.png

 我们已经理解什么是fd,0,1,2默认打开了?

0:标准输入(键盘)

1:标志输出(显示器)

2:标志错误(显示器)

硬件啊->理解Linux一切皆文件

eec8d53bf1e34b599df7a69e1db053a1.png

 struct file中有函数指针,同一个指针会指向不同的方法,这不就是我们C++学习到的面向对象中的多态吗?

那把c语言struct看做类。

如果我们用c实现类?

所以以上内容就都能贯通了,本质是c语言中的文件操作函数底层都是对系统调用接口的封装,封装了系统调用的细节。

所以就理解了Linux一切皆文件!

4.c语言为什么要这么做?

可以使用系统调用,也可以使用语言提供的文件方法

系统不同,系统调用接口可能不一样

代码就不具备平台性

所以所有的语言都想具有跨平台性!!

所有的语言要对不同的平台的系统调用进行封装

不同的语言封装的时候,文件接口就有差别了!

 

 

http://www.dinnco.com/news/24962.html

相关文章:

  • 北京网站制作培训学校办公软件培训
  • 制做商品网站常州百度推广公司
  • 可以给别人做ps设计的网站莫停之科技windows优化大师
  • 网站制作怎么报价2024年8月爆发新的大流行病毒吗
  • 乌兰察布做网站公司谷歌广告联盟官网
  • 芜湖网站建设哪家好2345网址导航官网官方电脑版下载
  • mac字体怎么安装wordpress官网seo优化找哪家做
  • 企业应用平台和系统管理下载seo快排软件
  • 建微网站有什么好处刷网站关键词工具
  • 登录企业网站管理系统网络推广员工作好做吗
  • 家装网站建设市场调研的四个步骤
  • design设计网站外链平台
  • 洛阳外贸网站建设今天国内新闻10条
  • 万网域名注册教程富阳网站seo价格
  • wp用户前端化专业版wordpress插件[中英双语]长沙seo公司排名
  • 做建筑的网站山东网页定制
  • 无锡网站制作系统seo黑帽培训骗局
  • 做网站模板在哪儿找宁波seo优化公司
  • 市体育局网站 两学一做最新的全国疫情
  • 网站建站的步骤找营销推广团队
  • 支付网站备案成都疫情最新消息
  • 北京做网站推广seo电脑培训学校
  • 网站优化及推广seo在线网站推广
  • 网站建设的企业目标百度搜索关键词排名优化
  • 企业网站 设计广州代运营公司有哪些
  • 大宗商品采购平台杭州百度seo优化
  • 江苏省教育网站官网创建网站要钱吗
  • 郑州微网站建设俄罗斯引擎搜索
  • 哪家建公司网站互联网营销师是干什么
  • b2b网站开发商需求分析自己代理一款手游需要多少钱