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

网站域名注册空间建设人力资源网站目标

网站域名注册空间,建设人力资源网站目标,旅游微信网站建设,notepad wordpress文章目录 linux系统文件io1 open /close1.1 open1.2 close1.3 示例1.3.1 打开已经存在的文件 2 read/write2.1 read2.2 write使用 遗留问题#xff1a;新创建的文件权限很奇怪3 lseek3.1 文件指针的移动3.2 文件拓展 perror函数 linux系统文件io 系统函数是系统专有的函数新创建的文件权限很奇怪3 lseek3.1 文件指针的移动3.2 文件拓展 perror函数 linux系统文件io 系统函数是系统专有的函数不是内核函数内核函数是不允许用户使用的所以系统函数来做这个桥梁调用它 1 open /close 1.1 open 这里纠结了很久想直接去看c的文件io但是没有必要文件操作的open/close用c标准就行了所以回过头来看了 #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使用什么方式打开 O_RDONLYO_WRONLYO_RDWR O_APPEND:数据追加到尾部O_CREAT:如果文件不存在就创建文件O_EXCL:检查文件是否存在必须和O_CREAT一起使用 O_CREAT|O_EXCL 文件不存在创建文件文件存在创建失败返回-1如果不使用这个的话不会返回-1 mode在创建文件的时候指定权限八进制整数最大值为0777 还需要计算 返回值打开成功返回文件描述符 打开失败返回-1 1.2 close #include unistd.h int close(int fd); # fd就是open函数的返回值1.3 示例 1.3.1 打开已经存在的文件 #include sys/types.h #include sys/stat.h #include fcntl.h #include iostream #include unistd.h int main() {int fd open(./new.txt,O_WRONLY);if (fd -1){perror(open:);}else{std::cout fd : fd;}close(fd);return 0; }1.3.2 创建不存在的文件并打开 #include sys/types.h #include sys/stat.h #include fcntl.h #include iostream #include unistd.h int main() {int fd open(./add.txt,O_RDWR|O_CREAT|O_EXCL);if (fd -1){perror(open:);std::cout file is exists. std::endl;}else{std::cout fd : fd std::endl;}close(fd);return 0; } 假设在创建新文件的时候, 给 open 指定第三个参数指定新文件的操作权限, 文件也是会被创建出来的, 只不过新的文件的权限可能会有点奇怪, 这个权限会随机分配而且还会出现一些特殊的权限位, 如下: $ $ ll new.txt -r-x--s--T 1 robin robin 0 Jan 30 16:17 new.txt* # T 就是一个特殊权限 2 read/write 2.1 read 用于读取文件内部数据 #include unistd.h ssize_t read(int fd, void *buf, size_t count); buf 传出参数只想一块有效内存 count buf指向的内存的大小能存储的最大字节数 返回值 大于零从文件中读取到的字节数 等于零读取成功但啥也没有 -1 读取失败 2.2 write #include unistd.h ssize_t write(int fd, const void *buf, size_t count); 使用 #include sys/types.h #include sys/stat.h #include fcntl.h #include iostream #include unistd.h #include stdlib.h int main() {int fd open(./new.txt,O_RDWR);if (fd -1){perror(open:);}else{std::cout fd : fd std::endl;}int fd2 open(./new2.txt,O_WRONLY|O_EXCL|O_CREAT, 0777);if (fd2 -1){perror(open:);}else{std::cout fd2 : fd std::endl;}char buf[1024];int len -1;while ( (len read(fd, buf, sizeof(buf))) 0){int ret write(fd2, buf, len);if (ret -1){perror(write);}}close(fd);close(fd2);return 0; }遗留问题新创建的文件权限很奇怪 如果创建新的文件要添加mode参数并指定权限 3 lseek lseek函数是系统函数可以移动文件指针进行文件拓展 #include sys/types.h #include unistd.hoff_t lseek(int fd, off_t offset, int whence);- offset 偏移量- whence 指定函数实现什么功能- SEEK_SET:从头部开始偏移offset个字节- SEEK_CUR从当前文件指针的位置向后偏移offset- SEEK_END从文件尾部向后偏移offset返回值- 成功返回从头部开始计算总的偏移量- 失败 -13.1 文件指针的移动 # 指针移动到文件头部 lseek(fd, 0, SEEK_SET);# 查看当前指针的位置 lseek(fd, 0, SEEK_CUR);# 得到文件的大小 lseek(fd, 0, SEEK_END);3.2 文件拓展 拓展文件以后需要立即写入随便什么东西 lseek(fd, 1000, SEEK_END);write(fd,1, 1);perror函数 #include stdio.h void perror(const char *s)实际使用的时候当出现错误的时候会有对应的返回值我们只知道返回值至于它的错误是什么可以调用perror自动输出还可以添加提示信息s if (flag -1) {perror(error1);close(); } if (flag ss) {perror(error2);break; }总之就是将函数报错的返回值翻译成错误并打印出来
http://www.hkea.cn/news/14522960/

相关文章:

  • 株洲手机网站建设简易的小企业网站建设
  • 苏州网站开发电话离我最近的广告牌制作
  • 有没有可以做各种字体的网站网站开发需要投入多少时间
  • 企业网站发布图片文章策划书案例范文
  • 网站制作 呼和浩特深圳公司注册地址变更
  • 怎么在国税网站上做实名认证巨鹿企业做网站
  • 购物网站模板合肥网站建设模板
  • 广源建设集团有限公司网站平面设计公司图片
  • 海门网站制作动漫网站设计报告
  • wordpress可以问答seo关键词排名优化怎么样
  • 苏州专门网站wordpress的安装教程视频
  • 怎样选择高性价比的建站公司企业注册信息
  • 网站建设分为哪几个步骤汕头网站建设报价
  • 绵阳市建设工程监督网站楼盘网站模板
  • 左右左布局网站建设读经典做临床报名网站
  • 番禺网站建设怎样专业的网页设计服务公司
  • 网站域名要实名认证吗go网站做富集分析
  • 忆唐网不做网站做品牌申京效率值联盟第一
  • 临沂网站建设举措wordpress插件安装本地
  • 企业网站建设记什么会计科目淄博网站制作网页公司
  • 网站标题关键词长度德尔普网络做网站怎么样
  • 人社局网站群建设工作方案成都建站模板公司
  • 个人建站步骤wordpress 自定义网址
  • 2017做网站挣钱域名是什么结构称为域名空间
  • 在哪个网站可以查做项目中标的对战平台网站怎么建设
  • 搭建网站后的网址网站建设灬金手指下拉
  • 建网站和app北京装修设计公司排行
  • 网站开发平台及常用开发工具免费微信小程序免费制作平台
  • 临沂建设公司网站免费查询网
  • wordpress企业网站主题合肥光束网站建设