系统I/O小程序-文件拷贝

系统I/O小程序-文件拷贝
使用系统IO函数编写 ./syscopy src des

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>/**
*        system i/o
*       ./syscopy src des
*/
int main(int argc, char *argv[])
{int des_fd, src_fd;char buf[128];int size;unsigned int count;if (argc < 3) {printf("The argc is wrong!\n");return -1;}src_fd = open(argv[1], O_RDONLY);if (src_fd < 0) {printf("open %s fail.\n", argv[1]);return -1;}des_fd = open(argv[2], O_RDWR|O_CREAT|O_TRUNC);if (des_fd < 0) {printf("open %s fail.\n", argv[2]);close(src_fd);return -1;}while (1) {size = read(src_fd, buf, 128);if (size == -1) {printf("read %s fail.\n", argv[1]);close(src_fd);close(des_fd);return -1;}if (size == 0) {if(errno == EINTR) {continue;}break;}if (write(des_fd, buf, size) != size) {printf("write %s fail.\n", argv[2]);close(src_fd);close(des_fd);return -1;}}count = lseek(src_fd, 0, SEEK_END);printf("src long:%d\n", count);count = lseek(des_fd, 0, SEEK_END);printf("des long:%d\n", count);close(src_fd);close(des_fd);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uva 10934—— Dropping water balloons

题意&#xff1a;给定K个气球&#xff0c;然后n层楼的高度&#xff0c;求确定气球的硬度&#xff08;站在多高能摔破&#xff09; 思路&#xff1a;递推。dp&#xff08;i&#xff0c;j&#xff09;表示最优&#xff0c;那么即dp&#xff08;i-1&#xff0c;j-1&#xff09;1最…

商海致富独家秘诀:微笑可以当钱花

郭俭&#xff0c;深圳凯创电子设备有限公司营销总经理。当过教师&#xff0c;坐过机关&#xff0c;最后下海了&#xff0c;来到深圳。记者到他办公室采访的时候&#xff0c;第一眼看到的&#xff0c;是他温暖而质朴的微笑。这无言的微笑&#xff0c;让人觉得站在面前的&#xf…

标准I/O小程序-文件拷贝

标准I/O小程序-文件拷贝 #include <stdio.h> #include <string.h>/** * * ./mycopy src des */ int main(int argc, char *argv[]) {FILE *des, *src;char buf[128];int ret, i, j, count;if (argc < 3) {printf("The argc is wrong!\n");retu…

uva 12105——Bigger is Better

题意&#xff1a;给定n个火柴&#xff0c;求能够摆出的最大的数。 思路&#xff1a;递推&#xff0c;dp&#xff08;i&#xff0c;j&#xff09;表示i根火柴拼出除以m余数为j的最大的数&#xff0c;然后递推用dp&#xff08;i&#xff0c;j&#xff09;*10k更新dp&#xff08;i…

[导入]Google Earth坐标集(能更看清这个世界喽!)

这里收集了一些有趣的地理坐标&#xff0c;使用方法很简单&#xff0c;先启动Google Earth&#xff0c;然后选择软件左面的部分“Fly to(飞至)”在下面的框中粘贴坐标&#xff0c;按回车即可“飞”到这个地方。珠穆朗玛峰(Mount Everest)&#xff1a;27.9782502279, 86.9221941…

fcntl函数之文件锁 F_SETLK

fcntl函数之文件锁 F_SETLK #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <errno.h>/** * *./myfcntl contentstruct flock {...short l_type; F_RDLCK,F_WRLCK,F_UNLCKshort l_whence; How…

uva 1625——Color Length

题意&#xff1a;给定两个长度分别为n和m 的颜色序列&#xff0c;要求按顺序合并成一个序列&#xff0c;即每次可以把开头的颜色放到新序列末尾&#xff0c;跨度l&#xff08;c&#xff09;等于最大和最小的位置之差。 思路&#xff1a;递推&#xff0c;f&#xff08;i,j&#…

刚刚注册,打声招呼先

我今天终于注册了一个属于自己的博客了。我没有用过博客&#xff0c;也很少去看别人的博客。但是登陆了计算机图形学的老师推荐的博客后&#xff0c;我觉得博客还真是个好东西。向别人展示自己的经验心得&#xff0c;与别人共享好的东西。我喜欢与人分享一切美好的东西。共享&a…

fcntl函数之文件锁 F_SETLKW

fcntl函数之文件锁 F_SETLKW F_SETLK与F_SETLKW的区别&#xff1a; F_SETLK设的锁遇到锁被其他进程占用时&#xff0c;会立刻停止进程。 F_SETLKW上锁是阻塞方式。设置的锁因为其他锁而被阻止设置时&#xff0c;该命令会等待相冲突的锁被释放。 #include <stdio.h> #inc…

uva 1331——Minimax Triangulation

题意&#xff1a;三角刨分&#xff0c;把一个m边形分解成m-2个三角形&#xff0c;求一个最大三角形最小的刨分&#xff0c;输出最小的那个三角形面积。 思路&#xff1a;递推。可能需要一点几何思维&#xff0c;d&#xff08;i&#xff0c;j&#xff09;为多边形的最优解&#…

泛型笔记

所谓泛型&#xff0c;即通过参数化类型来实现在同一份代码上操作多种数据类型。&#xff08;类型的 多态&#xff09; 是一种编程范式&#xff0c;它利用“参数化类型”讲类型抽象化&#xff0c;从而实现更为灵活的复用。 1&#xff0c;可重用行 2&#xff0c;类型安全&#xf…

进程创建fork-小代码

进程创建fork #include <sys/types.h> #include <unistd.h> pid_t fork(viod) 返回值&#xff1a;,在子进程中返回0&#xff1b;在父进程中返回大于0的进程号&#xff1b;小于0&#xff0c;出错。 fork()函数调用一次&#xff0c;返回两次&#xff0c;分别是在子进…

给有钱人办教育

今天&#xff0c;看新闻上&#xff0c;报道了&#xff0c;贷款利率又上升了。这 年头&#xff0c;什么都上涨&#xff0c;物价&#xff0c;房价&#xff0c;粮价&#xff0c;失业率也在逐年攀升&#xff0c;唯一不上涨的就是工资了&#xff0c;反而有很多很多的大学生正一次又一…

进程创建fork--文件表项继承

进程创建fork–文件表项继承 子进程继承父进程的文件描述表&#xff0c;不继承共享文件表项和iNode。 父进程创建一个子进程后&#xff0c;文件表项中的引用计数器加1变为2&#xff0c;当父进程操作close操作后&#xff0c;计数器减1&#xff0c;子进程还是可以使用文件表项&am…

论ACM ICPC_Ruins He

这段时间老是有许多新人向我问到ACM相关的问题。比如它与工作的关系&#xff0c;对我以后的工作到底有没有帮助&#xff1f;还比如说第二年的训练计划应该是什么样的&#xff1f;还有的孩子问到&#xff0c;我寒假玩儿的一个寒假&#xff0c;又该怎么办&#xff1f; 看到这些问…

查询分析器下如何备份数据库

查询分析器下如何备份数据库backupdatabasemsdb todiskd:\msdb.bakOK搞定转载于:https://www.cnblogs.com/CnKker/archive/2006/09/26/515318.html

Inside Dynamics Axapta源代码赏析(四)

第八章:Developing Applications Using Business Connector 这一章的代码主要演示如何通过Business Connector与Axapta交互在Dynamics Axapta的客户端安装目录中找到Microsoft.Dynamics.BusinessConnectorNet.dll这个文件,添加到VS.NET的工程中.1.HelloWorldBC.csclassHelloWor…

uva 1629——Cake slicing

题意&#xff1a;有一个n行m列网格蛋糕上有一些樱桃&#xff0c;每次可以把蛋糕一刀切成两块&#xff0c;最后使每块蛋糕上都有一个樱桃且切割线总长度最小。 思路&#xff1a;区间dp&#xff0c;记忆化搜索整个过程&#xff0c;然后分区间从上到下&#xff0c;从左到右&#x…

信号之SIGCHLD

信号之SIGCHLD SIGCHLD信号是子进程结束时发出来的信号&#xff0c;可用于在程序中捕获子进程结束的信号然后用wait函数将子进程资源回收。 优点&#xff1a;不会使父进程一直阻塞在wait函数处。 #include <signal.h> #include <stdio.h> #include <string.h&g…

uva 242——Stamps and Envelope Size

题意&#xff1a;给定最大贴邮票上限和若干个邮票组合&#xff0c;求最大的连续邮资的一个组合&#xff0c;如果有多个&#xff0c;按字典序输出最大的一个。 思路&#xff1a;对每一组邮票&#xff0c;求出当邮资为i时需要邮票数的最小值d[i]&#xff0c;边界为d[0]0、d[i]>…