• 大小: 35KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: c  UNIX  操作系统  

资源简介

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


评论

共有 条评论