char buf2[10]; int num; fd = open( \ if(fd==-1) {
perror(\ exit(1); } num=write(fd,buf1,sizeof(buf1)-1); if(num!=(sizeof(buf1)-1)) printf(\ lseek(fd,4,SEEK_SET); num=read(fd,buf2,6); if(num!=6) printf(\ write(1,buf2,6); close(fd); }
3.向文件f3中写入“aabbccddeeffgghh”,然后将文件截短后的文件内容读出并显示在屏幕上
#include
perror(\ exit(1); } num=write(fd,buf1,sizeof(buf1)-1); if(num!=(sizeof(buf1)-1)) printf(\ lseek(fd,0,SEEK_SET); ftruncate(fd,8); num=read(fd,buf2,8); if(num!=8) printf(\ write(1,buf2,8);
close(fd); }
4.在程序中将umask改至044,创建文件f4 #include
5.实现“cat文件名”显示文件内容 #include
main(int argc,char *argv[]) {
int fd; int num; char buf[10]; if(argc!=2) {
printf(\ exit(1); }
fd=open(argv[1],O_RDONLY); if(fd==-1) {
perror(\ exit(1); }
while((num=read(fd,buf,10))!=0) write(1,buf,num); close(fd); }
6.实现“cp 原文件 目标文件” #include
main(int argc,char *argv[]) {
int from,to; int num; char buf[10]; if(argc!=3) {
printf(\ exit(1); }
from=open(argv[1],O_RDONLY);
to=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0644); num=read(from,buf,10); while(num!=0) { write(to,buf,num); num=read(from,buf,10); }
close(from); close(to); }