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

顺德网站制作案例价格陕西交通建设集团信息网站

顺德网站制作案例价格,陕西交通建设集团信息网站,天眼查询官网在线入口,百度站长网站验证目录 从Linux系统的角度看待文件 系统文件I/O open write read 文件操作的本质 vim中批量注释的方法 从Linux系统的角度看待文件 关于文件的共识: 1.空文件也要占用磁盘空间 2.文件内容属性 3.文件操作包括文件内容/文件属性/文件内容属性 4.文件路径文…

目录

从Linux系统的角度看待文件

系统文件I/O

open

write

read 

文件操作的本质

vim中批量注释的方法


从Linux系统的角度看待文件

关于文件的共识:

1.空文件也要占用磁盘空间

2.文件=内容+属性

3.文件操作包括文件内容/文件属性/文件内容+属性

4.文件路径+文件名具有唯一性

5.如果没有指明对应的文件路径,默认是在当前路径下对文件进行访问

故:文件操作的本质为:进程和被打开文件的关系

文件权限=0 666&~umask(默认文件掩码)

系统文件I/O

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);pathname: 要打开或创建的目标文件
flags: 打开文件时,可以传入多个参数选项,用下面的一个或者多个常量进行“或”运算,构成flags。
参数:O_RDONLY: 只读打开O_WRONLY: 只写打开O_RDWR : 读,写打开这三个常量,必须指定一个且只能指定一个O_CREAT : 若文件不存在,则创建它。需要使用mode选项,来指明新文件的访问权限O_APPEND: 追加写
返回值:成功:新打开的文件描述符失败:-1

write

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

 c语言字符串以'\0'为结尾,与文件无关

//r   w   r+(读写,不存在则报错)   w+(读写,不存在则创建)//FILE* fp=fopen(FINE_NAME,"");int fd=open(FINE_NAME,O_WRONLY|O_CREAT,0666);if(fd<0){perror("open");return 1;}int cnt =5 ;char outBuffer[64];while (cnt){sprintf(outBuffer,"%s:%d\n","test",cnt--);write(fd,outBuffer,strlen(outBuffer));//strlen 不能+1 算上'\0' 会出现乱码}//printf("fd: %d\n",fd);close(fd);

int fd=open(FINE_NAME,O_WRONLY|O_CREAT|O_TRUNC,0666);

 O_TRUNC:对文件内容做清空

read 

SYNOPSIS#include <unistd.h>ssize_t read(int fd, void *buf, size_t count);
char buffer[1024];ssize_t num = read(fd,buffer,sizeof(buffer)-1);if(num>0) buffer[num]=0;printf("%s",buffer);

文件操作的本质

文件操作的本质为:进程和被打开文件的关系

进程可以打开多个文件-> 系统中存在大量的被打开的文件

OS管理被打开文件的方式是为其创建对应的内核数据结构(struct file)标识文件

struct file:中包含了文件的大部分属性。

#define FINE_NAME(number) "log.txt"#number

#:的作用是为了将log.txt与number拼接起来

int fd1 = open(FINE_NAME(1), O_WRONLY | O_CREAT | O_TRUNC, 0666);int fd2 = open(FINE_NAME(2), O_WRONLY | O_CREAT | O_TRUNC, 0666);int fd3 = open(FINE_NAME(3), O_WRONLY | O_CREAT | O_TRUNC, 0666);int fd4 = open(FINE_NAME(4), O_WRONLY | O_CREAT | O_TRUNC, 0666);int fd5 = open(FINE_NAME(5), O_WRONLY | O_CREAT | O_TRUNC, 0666);
printf("fd: %d\n", fd1);printf("fd: %d\n", fd2);printf("fd: %d\n", fd3);printf("fd: %d\n", fd4);printf("fd: %d\n", fd5);close(fd1);close(fd2);close(fd3);close(fd4);close(fd5);

SYNOPSIS#include <stdio.h>extern FILE *stdin;extern FILE *stdout;extern FILE *stderr;
FILE* fp...;

FILE是一个结构体,其中有一个字段是文件描述符。

文件描述符的本质就是数组下标。

vim中批量注释的方法

ctrl+v+j+I+//+Esc

u:取消

fgets:在读取完字符串后会给字符串添加'\0'

int main()
{//r   w   r+(读写,不存在则报错)   w+(读写,不存在则创建)FILE* fp=fopen(FINE_NAME,"");return 0;
}

c语言中以w的形式打开文件,c会自动清空其内部的内容。

http://www.yayakq.cn/news/931262/

相关文章:

  • 网站优化关键词是怎么做的成品人和精品人的区别在哪里
  • 全球最大源码共享网站网站设计经典案例
  • 精品课程网站建设 碧辉腾乐未来分发网下载app
  • 建设部指定发布招标信息网站网上购物平台排行
  • 网站建设相关ppt德州口碑好的网站制作公司
  • 莱芜新闻头条seo优化包括哪些
  • 网站建设的域名的选择手机设计软件下载
  • 电影网站域名需要备案石家庄网站建设销售电话
  • 成都网站优化步骤餐饮营销型网站案例分析
  • 网站运营编辑谷歌关键词查询工具
  • 南京做网站哪家最好阜阳讯拓网站建设
  • 江苏省泰州市建设局官方网站苏州钻木网络科技有限公司
  • 创建免费论坛的10个网站专业网站建设服务商
  • 漯河网站建设哪家如何做平台推广
  • 模板网站有后台么软件技术专业难学吗
  • 外贸建站软件html网站设计模板下载
  • 网站开发周期安排天正电气网站建设
  • 长安公司网站建设wordpress百度经验
  • 网站导航条设计wordpress发布文章关键词
  • 网站空间排行榜可以免费发布信息的网站有哪些
  • 互联网网站建设计划书中国生态文明建设的意义和目标
  • 云南住房和城乡建设局网站企业网站栏目设计
  • 网站开发生命周期重庆选科网站
  • 自己电脑上做网站怎么使用源码上海网站设计与制
  • 网站建设预算申请企业网站建设注意点
  • 建设什么网站挣钱深圳网站设计公司费用是
  • 技术交流网站开发例子手机网游排行榜2022前十名最新
  • 网站建设中应该注意什么开发小程序哪家好
  • 专业的网站建设排名免费工作总结ppt模板下载
  • 做海鱼的网站wordpress会员互动