-
大小: 35KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-09
- 語言: C/C++
- 標(biāo)簽: c??UNIX??操作系統(tǒng)??
資源簡介
1、編寫一個文件復(fù)制的C語言程序:分別使用文件的系統(tǒng)調(diào)用read(fd, buf, nbytes), write(fd, buf, nbytes)和文件的庫函數(shù)fread(buf, size, nitems, fp), fwrite(buf, size, nitems, fp),編寫一個文件的復(fù)制程序。當(dāng)上述函數(shù)中nbytes, size和nitems都取值為1時(即一次讀寫一個字節(jié)),比較這兩種程序的執(zhí)行效率。當(dāng)nbytes取1024字節(jié),size取1024字節(jié),且nitems取1時(即一次讀寫1024字節(jié)),再次比較這兩種程序的執(zhí)行效率。2、分別使用fscanf和fprintf,fgetc和fputc,fgets和fputs(僅限于行結(jié)構(gòu)的文本文件),實(shí)現(xiàn)上述的文件復(fù)制程序。你還可用其他的方法實(shí)現(xiàn)文件的復(fù)制功能嗎?....

代碼片段和文件信息
#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??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\unix命令.doc
?????文件????????690??2006-05-21?21:34??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\CopyFile_1.c
?????文件????????218??2006-05-21?21:54??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\NamePipe_1.c
?????文件????????237??2006-05-21?21:57??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\NamePipe_2.c
?????文件????????409??2006-05-21?21:47??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\NoNamePipe.c
?????文件??????21504??2007-12-08?01:18??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布\文件系統(tǒng)的用戶界面.doc
?????目錄??????????0??2007-12-08?01:17??操作系統(tǒng)第三次實(shí)驗(yàn)-發(fā)布
-----------?---------??----------?-----??----
????????????????80914????????????????????7
- 上一篇:Ajax 與CGI
- 下一篇:赫夫曼編碼(C語言編寫
評論
共有 條評論