Linux C刘学勇 编著各章习题答案Word格式.docx

上传人:b****5 文档编号:16318853 上传时间:2022-11-22 格式:DOCX 页数:13 大小:16.55KB
下载 相关 举报
Linux C刘学勇 编著各章习题答案Word格式.docx_第1页
第1页 / 共13页
Linux C刘学勇 编著各章习题答案Word格式.docx_第2页
第2页 / 共13页
Linux C刘学勇 编著各章习题答案Word格式.docx_第3页
第3页 / 共13页
Linux C刘学勇 编著各章习题答案Word格式.docx_第4页
第4页 / 共13页
Linux C刘学勇 编著各章习题答案Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Linux C刘学勇 编著各章习题答案Word格式.docx

《Linux C刘学勇 编著各章习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《Linux C刘学勇 编著各章习题答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

Linux C刘学勇 编著各章习题答案Word格式.docx

4.属主同组用户其他用户读写执行

5.当前工作目录工作目录

1.B2.C3.A4.B5.C

三、上机题

1、

#include<

sys/types.h>

sys/stat.h>

fcntl.h>

unistd.h>

stdio.h>

#definePERMS0666

#defineDUMMY0

#defineBUFSIZE1024

intmain(intargc,char*argv[])

{

intsource_fd,target_fd,num;

chariobuffer[BUFSIZE];

if(argc!

=3)

{

printf("

Usage:

%sSourcefileTargetfile\n"

argv[0]);

return1;

}

if((source_fd=open(*(argv+1),O_RDONLY,DUMMY))==-1)

Sourcefileopenerror!

\n"

);

return2;

if((target_fd=open(*(argv+2),O_WRONLY|O_CREAT,PERMS))==-1)

Targetfileopenerror!

return3;

while((num=read(source_fd,iobuffer,BUFSIZE))>

0)

if(write(target_fd,iobuffer,num)!

=num)

Targetfilewriteerror!

return4;

close(source_fd);

close(target_fd);

return0;

}

2、

utime.h>

inti,fd;

structstatstatbuf;

structutimbuftimes;

if(argc!

=2)

{

printf("

%sfilename\n"

argv[0]);

return1;

if((fd=open(argv[1],O_RDWR))<

0)

%sopenfailed.\n"

argv[1]);

return3;

}

if(stat(argv[1],&

statbuf)<

return2;

if(ftruncate(fd,statbuf.st_size/2)<

0)

%struncatefailed.\n"

return4;

printf("

%sistruncatednow.\n"

return0;

}

3、

inti;

for(i=0;

i<

num;

i++)

{

if(iobuffer[i]>

='

a'

&

&

iobuffer[i]<

z'

iobuffer[i]-=32;

}

if(write(target_fd,iobuffer,num)!

printf("

return4;

4、

dirent.h>

charpath[1000];

DIR*dp;

structdirent*pdirent;

getwd(path);

if((dp=opendir(path))==NULL)

Opendir%sfailed\n"

path);

}

if((pdirent=readdir(dp))==0)

readdir%sfailed\n"

path);

%s\n"

pdirent->

d_name);

closedir(dp);

第4章习题答案

1.FILE结构的指针

2.标准输入标准输出标准错误输出

3.字符I/O函数行I/O函数块I/O函数

4.错误指示器文件结束指示器

5.全缓冲行缓冲无缓冲

1.D2.B3.D4.A5.C

main()

chara;

while

(1)

scanf("

%c"

&

a);

if(a=='

q'

return;

a);

intmain(intargc,char*argv[])

charbuf[1024];

FILE*fp;

%s<

filename>

if((fp=fopen(argv[1],"

r"

))==NULL)

{

Fileopenerror.\n"

while((fgets(buf,1024,fp))!

=0)

puts(buf);

inti;

for(i=0;

buf[i]!

\0'

;

if(buf[i]>

buf[i]<

buf[i]-=32;

}

intmain()

fp=tmpfile();

if(fp==NULL)

tmpfileerror!

OpenedatemporaryfileOK!

while((a=getchar())!

fputc(a,fp);

rewind(fp);

fputc(a,stdout);

第5章习题答案

1.运行态就绪态等待态

2.task_struct

3.用户模式系统模式

4.Forkvfork子进程父进程

5.进程标识号

1.B2.A3.D4.D5.A

pid_tpid;

intvari=5;

if((pid=vfork())<

vforkerror.\n"

elseif(pid==0)

Helloworld!

\n"

Childprocessexited!

_exit(0);

Parentprocessexited!

charcmd[100];

intstatus;

if((pid=fork())<

while

(1)

sleep

(2);

sprintf(cmd,"

kill%d"

pid);

if((status=system(cmd))<

systemerror.\n"

Childprocessisterminatedbyparentprocess.\n"

sys/wait.h>

stdlib.h>

if((status=system("

ls"

))<

exit(0);

intmain(intargc,char*argv[])

intpid;

if(argc<

=1)

filenanme>

return-1;

fp=fopen(argv[1],"

w"

Createdestfile%sfailed.\n"

return-2;

pid=getpid();

ThecurrentproessIDis%d\n"

pid);

fprintf(fp,"

%d"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1