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

网站服务器怎么选择如何创立自己的品牌

网站服务器怎么选择,如何创立自己的品牌,重庆网站建设价格,制作网站收费文件内容属性 所有对文件的操作就是对 1.文件内容 2.文件属性。 内容是数据#xff0c;属性也是数据#xff0c;存储文件#xff0c;必须既存储内容#xff0c;也要存储属性。 文件没有被访问时#xff0c;一般在磁盘中。对文件访问时#xff0c;由冯诺依曼体系结构知…文件内容属性 所有对文件的操作就是对 1.文件内容  2.文件属性。 内容是数据属性也是数据存储文件必须既存储内容也要存储属性。 文件没有被访问时一般在磁盘中。对文件访问时由冯诺依曼体系结构知需要将文件加载到内存中才能被操作。 加载磁盘上的文件到内存中是由OS来完成必然存在许多的文件等待被加载操作系统需要对这些已经加载文件的管理。管理的方式就是先描述、在组织 描述组织方法 描述创建文件描述结构体 struct file{属性   文件指针  } 组织将文件描述的结构体以某种数据结构链接。对文件的管理就转化为对结构体的增删查改。 C语言接口 回忆完文件的预备知识后就来回忆一下C语言的文件操作IO接口 文件操作函数    功能 fopen    打开文件 fclose    关闭文件 fputc    写入一个字符 fgetc    读取一个字符 fputs    写入一个字符串 fgets    读取一个字符串 fprintf    格式化写入数据 fscanf    格式化读取数据 fwrite    向二进制文件写入数据 fread    从二进制文件读取数据 fseek    设置文件指针的位置 ftell    计算当前文件指针相对于起始位置的偏移量 rewind    设置文件指针到文件的起始位置 ferror    判断文件操作过程中是否发生错误 feof    判断文件指针是否读取到文件末尾 fopen() FILE* fopen(const char* path ,const char* mode) 函数参数为  文件路径  和打开方式 返回参数为文件指针打开成功返回指针失败返回NULL fputs() int fputs(const char *s ,FILE*stream) 将字符串写入特定流中成功则返回字符串个数失败返回-1 fprintf() int fprintf(FILE*stream ,const char* format ,......) 向某个流中格式化写入 fopen()的写入方式 文件使用方式    含义    如果指定文件不存在 r只读    为了输入数据打开一个已经存在的文本文件    出错 w只写    为了输出数据打开一个文本文件            建立一个新的文件 a追加    向文本文件尾添加数据                               建立一个新的文件 rb只读    为了输入数据打开一个二进制文件        出错 wb只写    为了输出数据打开一个二进制文件       建立一个新的文件 ab追加    向一个二进制文件尾添加数据                    出错 r读写    为了读和写打开一个文本文件                 出错 w读写    为了读和写建立一个新的文件               建立一个新的文件 a读写    打开一个文件在文件尾进行读写            建立一个新的文件 rb读写    为了读和写打开一个二进制文件              出错 wb读写    为了读和写新建一个新的二进制文件    建立一个新的文件 ab读写    打开一个二进制文件在文件尾进行读和写    建立一个新的文件 部分演示 1、写w形式打开一个文件 效果等同 1 #includestdio.h2 #includeunistd.h3 4 int main()5 {6 FILE* fpfopen(log.txt,w);7 if(fpNULL)8 {9 perror(open file);10 return 1;11 }12 const char* msghello world;13 int cnt1;14 while(cnt10)15 {16 fprintf(fp,%s:%d\n,msg,cnt); 17 cnt;18 }19 fclose(fp);20 return 0;21 } ~上述代码以w只写权限打开一个文件在当前路径低下没有存在log.txt文件w形式会创建一个名为log.txt的空文件。对文件的操作是写入10条hellow world 编译运行后 会在当前路径底下生成log.txt文件  利用cat重定向将文件内容打印到显示器上 2、在a追加形式打开 效果等同于  将1.的代码做修改在将”w“修改成a 在循环体中打印内容为hellow linux 在第一步的log.txt文件下已存在内容的情况下在编译运行。 a是追加则不会清空文件cat重定向到显示器后 三个默认流 Linux下的经典话是“一切皆文件”。 在linux下显示器和键盘也能看作文件。我们在显示器上看到文件内容实际上就是往显示器文件写入文件。电脑获得我们在键盘敲击的字符实际上就是往键盘文件读取了数据。 从刚才我们的回顾就可以发现既然是从显示器文件中写入数据那么文件一定是被打开的。 结论 任何进程运行时都会打开三个输入输出流即标准输入标准输出和标准错误流。 标准输入的默认是键盘。标准输出和错误默认是显示器。 在C语言中的三个默认流是stdin stdout ,stderr  在C上也存在三个流对应cin cout ,cerr 系统接口 在我们用的C语言文件接口一定是封装了系统调用接口! 1、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); open函数 pathname为要打开或者创建的文件名 如果是pathname给出路径则在该路径下创建 如果是文件名则在当前文件所在路径下创建名为pathname的文件 flags: 打开文件时可以传入多个参数选项用下面的一个或者多个常量进行“或”运算构成 是位图的操作 参数含义O_RDNOLY只读方式打开 1O_WRNOLY只写方式打开 2O_RDWR读写方式打开 3  三者必须指定一种O_CREAT 文件不存在就创建文件 O_APPEND追加写 返回值成功返回新的文件描述符失败返回-1 对flags的说明  flags是位图的形式  每一个选项的二进制序列只有一个1   在运算中我们可以通过或运算  open函数内部通过与运算得到每一个选项 举例 想以读的方式打开文件在没有文件存在就创建文件  通过 | 运算符 open(pathname,O_RDNOLY | O_CREAT) 下面通过代码验证创建一个log.txt(不存在) 以只写的方式打开 1 #includestdio.h 2 #includesys/stat.h3 #includefcntl.h4 5 6 int main()7 {8 int fd open(log.txt,O_WRONLY|O_CREAT);9 if(fd0)10 {11 perror(open fail);12 return -1;13 }14 printf(fd 是%d\n,fd);15 return 0;16 }编译运行后在当前路径下得到log.txt 得到fd 是 3  我们关心fd为什么会是3而不是0 1  2呢在下面将会谈到 谈一下mode参数 mode参数是文件默认权限的16进制 0666代表 u g o 对应所有者 所属组 其它  rwx  011就是6对应 wx权限  创建文件的时候得到是0664 受到权限掩码的影响权限掩码是0002  2、close ()  用于关闭文件 ——fclose就是封装了close 通过查阅man手册了解close的用法 close的参数是 fdopen被打开文件的返回值 成功关闭文件返回0失败返回-1 3、write() 查阅2号手册 #include unistd.hssize_t write(int fd, const void *buf, size_t count);fd 是文件描述符 buff表示缓冲区 count字节数 write是将缓冲区count大小的数据写入fd中。 返回值是一个可为负的值表示实际写入多少字节。 4、read() #include unistd.hssize_t read(int fd, void *buf, size_t count);read与write类似 fd是文件描述符 buff是缓冲区 count是字节数 read是从缓冲区读取count字节大小值到fd中 注意 读取缓冲区的大小是strlen(s )  需要1吗 不需要。如果strlens1  则再打开log.txt文件时会出现乱码因为\0是C语言的规定在文件中没有要求。会被OS译为乱码。 演示 利用snprintf函数将hollow Linux写入缓冲区buff,write函数从buff中读取数据并写入到log.txt文件 cat重定向到显示器 1 #includestdio.h2 #includesys/stat.h3 #includefcntl.h4 #includestring.h5 #includeunistd.h6 int main()7 {8 umask(0);9 int fd open(log.txt,O_WRONLY|O_CREAT,0666);10 if(fd0)11 {12 perror(open fail);13 return -1;14 }15 printf(fd :%d\n,fd);16 const char* shellow Linux!;17 int cnt1;18 while(cnt5)19 {20 char buff[128];21 snprintf(buff,sizeof(buff),msg:%s,cnt:%d\n,s,cnt); 22 write(fd,buff,strlen(buff));23 cnt;24 }25 close(fd);26 return 0;27 } ~read的函数用法与write类似就不做过多介绍。 注意O_WRONLY|O_CREAY 默认是不会对文件内容清空的如果需要清空就要加上O_TRUNC 这时候我们的open调用就非常类似C语言的fopen() 这时我们就可以猜测C语言文件就是封装了系统调用接口。 OS不信任用户OS就给用户提供系统调用程序员通过C语言调用文件接口必然间接调用系统调用。 读文件本质是将把文件从磁盘加载到内存中这是冯诺依曼体系规定的。 写文件意味着可能修改文件必然也要先把文件加载到内存中。 用户不能直接管理硬件OS是硬件的直接管理者。 回忆文件内容加属性。 要访问文件必须先把文件加载到内存。OS对文件的管理就是先描述再组织。 C语言必定封装了某种系统调用。 open的pathname是文件名flag是一个32位的位图在传参时通过或运算添加。 write和read非常的类似。从缓冲区buff写入/读到 fd对应的文件中。 O_WRNOLY|O_CREAY|O_TRUNC是清空文件的写入。 下面我们还有问题 FILE是封装了fd吗 fd为什么默认从3开始 Linux下一切皆文件是为什么 重定向是如何理解 在下文将会详细介绍
http://www.pierceye.com/news/789872/

相关文章:

  • 建管家企业网站discuz仿wordpress
  • 老网站不要了做新站需要怎么处理平面广告设计赏析
  • 怎么看网站是不是php语言做的网站系统优点
  • 旅游网站建设 策划书销售app哪个好用
  • 建个大型网站要多少钱wordpress页眉设置
  • 浅谈网站建设开发浙江中联建设集团网站
  • 哪有做网站全包圆装修公司
  • 邵阳建设银行网站是多少建设银行 企业
  • 网站开源系统网页制作与网站建设思维导图
  • 专门做前端项目的一些网站wordpress 朋友圈插件
  • 网站建设哪家专业网站开发费用怎么做账
  • 用dw怎么做网站首页wordpress 文章页面失败
  • 郑州网站制作专业乐云seowordpress it博客主题
  • 支付宝手机网站支付二维码怎么做网站 开发
  • 教育网站制作视频代理网址ag80hncom
  • 泰兴公司做网站建设制作外贸网站公司
  • 手机wap网站大全作品提示优化要删吗
  • 郑州网站建设技术支持云南澄江县建设局网站
  • wordpress建企业网站设置网站一级域名和二级域名
  • 云南省城乡与住房建设厅网站合肥网红打卡地
  • 用dw做的企业网站宁波seo优化费用
  • 网站制作开发建网站公司 蓝纤科技
  • 怎样到国外做合法网站法网站网站建设小组实验报告
  • DNF做钓鱼网站网站建设方案书编写
  • 提高网站粘性wordpress tag中文
  • 公司已有网站 如何自己做推广wordpress的音乐插件怎么用
  • 权威网站php wordpress 等
  • 建设网站企业公司中通建设计院第四分公司网站
  • 快站免费网站建设哪家好南宁市住房建设局网站
  • 学生做的网站成品roseonly企业网站优化