资源简介
1、编写一个文件复制的C语言程序:分别使用文件的系统调用read(fd, buf, nbytes), write(fd, buf, nbytes)和文件的库函数fread(buf, size, nitems, fp), fwrite(buf, size, nitems, fp),编写一个文件的复制程序。当上述函数中nbytes, size和nitems都取值为1时(即一次读写一个字节),比较这两种程序的执行效率。当nbytes取1024字节,size取1024字节,且nitems取1时(即一次读写1024字节),再次比较这两种程序的执行效率。2、分别使用fscanf和fprintf,fgetc和fputc,fgets和fputs(仅限于行结构的文本文件),实现上述的文件复制程序。你还可用其他的方法实现文件的复制功能吗?....
代码片段和文件信息
#include
#include
#include
#define BUF_1_MB 1024
#define BUF_1_B 1
main()
{
int fd1fd2;
int n;
char buf1[BUF_1_B]buf2[BUF_1_MB]buf3[BUF_1_B]buf4[BUF_1_MB];
FILe *fp1*fp2;
fd1=open(“file1“O_RDONLY);
fd2=open(“file2“O_WRONLY|O_CREAT|O_EXEC0644);
while((n=read(fd1buf1BUF_1_B))>0)
{
write(fd2buf1n);
}
n=0;
while((n=read(fd1buf2BUF_1_MB))>0)
{
write(fd2buf2n);
}
fp1=open(“file1“r);
fp2=open(“file3“w);
while((n=fread(buf3BUF_1_B1fp1))>0)
{
fwrite(buf3BUF_1_B1fp2);
}
while((n=fread(buf4BUF_1_MB1024fp1))>0)
{
fwrite(buf4BUF_1_MB1024fp2);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 57856 2006-05-21 22:44 操作系统第三次实验-发布\unix命令.doc
文件 690 2006-05-21 21:34 操作系统第三次实验-发布\CopyFile_1.c
文件 218 2006-05-21 21:54 操作系统第三次实验-发布\NamePipe_1.c
文件 237 2006-05-21 21:57 操作系统第三次实验-发布\NamePipe_2.c
文件 409 2006-05-21 21:47 操作系统第三次实验-发布\NoNamePipe.c
文件 21504 2007-12-08 01:18 操作系统第三次实验-发布\文件系统的用户界面.doc
目录 0 2007-12-08 01:17 操作系统第三次实验-发布
----------- --------- ---------- ----- ----
80914 7
- 上一篇:Ajax 与CGI
- 下一篇:赫夫曼编码(C语言编写
相关资源
- 赫夫曼编码(C语言编写
- Ajax 与CGI
- 用C语言实现ARC圆弧插补计算
- 为MFC对话框程序添加菜单和菜单响应
- C++API中文版215988
- 演示一个不断旋转、缩放和移动的正
- 基于TMS320VC5416的DTMF双音多频发生与检
- 国密SM2算法C代码
- 阅览室问题C语言实现
- mfc的odbc数据库连接方法
- 孩子兄弟链表法表示二叉树C++
- VC生成二维码sample
- linux下使用socket实现ftp的客户端和服务
- 简单计算器vs2010+MFC编写
- 进程管理和调度的算法实现
- 类似QQ截图的MFC截图软件C++源码
- C++中文分词系统代码
- 姿态解算c代码
- MFC单文档实现多视图
- C++、A星算法(很不错)
- c++ c 数据结构 课程设计 学生成绩管理
- C语言编写的高精度求积分函数
- 计步器程序
- NCDDE服务连接DDE封装的APIddehelper
- teeChart快速画图mfcvs2010
- c++ primer 经典课件
- ini配置文件读写C/C++版本
- Visual studio 2005 绘制五角星与sin曲线(
- C++ Builder 2010 序列号+注册机(破解补
- 简易学生管理系统(C++)
评论
共有 条评论