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

php网站上线北京建网站报价

php网站上线,北京建网站报价,贵州住房城乡建设厅网站,软件项目实施流程八个阶段继上次实现文件从后往前数2k的数据进行复制,此次要求是文件的一半且是后半部分。 即复制源文件sour_file的后半部分到dest_file 除了数据上从后2K变化到后一半之外,其他的几乎没有什么变化。 这道题的关键点就在于后一半怎么求,在经历了用 …

继上次实现文件从后往前数2k的数据进行复制,此次要求是文件的一半且是后半部分。

即复制源文件sour_file的后半部分到dest_file

除了数据上从后2K变化到后一半之外,其他的几乎没有什么变化。

这道题的关键点就在于后一半怎么求,在经历了用 lseek(writed,0,SEEK_SET)求文件总长,用sizeof()函数求文件大小,strlen()函数求字符串长度等等等等N次尝试之后,意外发现了一种能达到效果且好用的方法:Struct stat 结构体。

如上图所示,struct stat 结构体内容是不需要自己写的,这算是自带属性。

这样一来就简单多了。

struct stat st;
//先把这个结构体拽出来
fstat(writed,&st);
//fstat函数的作用就是把得到的文件writed的属性给到结构体
int len=st.st_size;
//再调用得到其大小

如此就完整得到了源文件的大小。

我们只要后半部分,于是先取其一半

int filesize=len/2;lseek(writed,filesize,SEEK_END);
//将光标从后往前移到文件二分之一处

或者从前往后移动二分之一也可以

lseek(writed,filesize,SEEK_SET);

然后从当前位置读取内容,写到目标文件就可以了

源码:

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
int main(int argc,char *argv[])
{int writed; int readed;int writed_len;int readed_len;int len_lseek;struct stat st;if(argc!=3){printf("Input invaild\n");return -1;}writed=open(argv[1],O_RDONLY);\\只读打开if(writed<=0){printf("Open Source File '%s' Failure",argv[1]);return -1;}readed=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664);if(readed<=0){printf("Create Destination File '%s' Failure",argv[2]);return -1;}fstat(writed,&st);//将writed文件属性全部复制到结构体len_lseek=st.st_size; //利用stat结构体求得文件大小char buf[1024];lseek(writed,-len_lseek/2,SEEK_END);//将光标移动到文件1/2位置int count=0;while((readed_len=read(writed,buf,sizeof(buf)))!=0) //从源文件读取数据,直到全部读完{writed_len=write(readed,buf,readed_len);//将读取的内容写入到目标文件if(writed_len>0){printf("拷贝完成%d次\n",count+1);}if(writed_len<0){printf("Write Destination File '%s' Failure",argv[2]);}count++;}printf("The File has been copied and Executed %d times\n", count);close(writed);close(readed);
}

网上随便复制了一段,放在了源文件里。

运行结果:

差不多是一半,我也没数,有强迫症可以数一数ヽ(゚∀゚)メ(゚∀゚)ノ ヾ(๑╹◡╹)ノ"ヾ(●´∀`●) 

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

相关文章:

  • 如何做网站数据库备份WordPress获取主题慢
  • 万网 手机网站电子商务网站建设的开发方案
  • 网站与规划设计思路湘潭网站建设 x磐石网络
  • 济南网站排名公司网站开发与应用 答案
  • 免费网站建设工具什么网站可以做兼职赚钱吗
  • 网站meta模板上海昆山网站公司哪家好
  • 大学生网站建设开题报告创建一个购物网站
  • 十堰网站制作公司php网站开发与设计
  • 怎么分辨网站是不是h5python 网站开发神器
  • 有域名有服务器如何做网站wordpress修改功能小工具
  • 营销型网站的设计框架做和别人类似的网站侵权吗
  • 网站优化培训好学吗wordpress安装在linux
  • 那个网站做的系统最好各大网站搜索引擎
  • 新公司网站设计注意事项怎么制作自己的微信小程序
  • 广西响应式网站制作手机网站建设新闻
  • 赤峰网站建设哪家好wordpress无法修改主页
  • 四川省住房和城乡建设厅网站电话做网站服务器和域名
  • 微网站开发策划焦作市建设工程网站
  • wordpress跟随插件青岛官网seo方法
  • 响应式 wordpressseo新站如何快速排名
  • 网站配色绿色百度竞价排名是什么
  • 网站建设费用计算依据深圳便宜做网站
  • 常州新北区网站建设网站开发语言
  • 定西网站建设公司做本地网站需要什么资质
  • 揭阳市php网站开发找工作浙江省外贸公司排名
  • 淘外网站怎么做虚拟机wordpress安装教程视频教程
  • 购买域名网站wordpress文章大纲插件
  • 涪城移动网站建设商业网站开发实训报告总结
  • 给微商做网站网站关键词排名忽然
  • 自己给网站做logo广州品牌设计