- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux复习程序注释
前面的可能考选择题,填空题,全部题型如下:
一、选择题(10个题,每题2分,共20分)
二、填空题(10个空,每空2分,共20分)
三、程序阅读题(2道题,共20分)
四、未知题型(1道题,共20分)
五、编程题(1道题,共20分)
P 154 文件I/O操作 open()、read()、write()、lseek()和close()
仔细阅读程序,能写注释或填空。
/* copy_file.c */
#include unistd.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include stdlib.h
#include stdio.h
#define BUFFER_SIZE 1024 /* 每次读写缓存大小1KB,关于《linux读写文件运行效率》的传送门*/
#define SRC_FILE_NAME src_file /* SRC_FILE_NAME代替src_file */
#define DEST_FILE_NAME dest_file /* 目标文件名文件名,之后用DEST_FILE_NAME代替dest_file */
#define OFFSET 10240 /* 复制的数据大小 1MB,也是lseek函数的偏移量*/
int main()
{
int src_file, dest_file; //定义了2个变量
unsigned char buff[BUFFER_SIZE]; //设定缓存的大小,定义为数组,存放读写缓存
int real_read_len;
/* 以只读方式打开源文件 */
src_file = open(SRC_FILE_NAME, O_RDONLY); //前面的src_file是变量名,成功时为3,失败时为-1
//也可以写成 src_file = open(src_file, O_RDONLY);
/* 以只写方式打开目标文件,若此文件不存在则创建该文件, 访问权限值为644 */
dest_file = open(DEST_FILE_NAME, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
//前面的dest_file是变量名,成功时为4,失败时为-1
//也可以写成 dest_file = open(dest_file,O_WRONLY|O_CREAT,644);
if (src_file 0 || dest_file 0) //打开文件失败时
{
printf(Open file error\n); //输出这句话
exit(1); // exit()中,1是返回给操作系统的,0是正常退出}
/* 将源文件的读写指针移到最后10KB的起始位置*/
lseek(src_file, -OFFSET, SEEK_END); //从文件的结尾处向前移动10KB
// OFFSET 是偏移量,正值向前移,负值向后移。这里在 OFFSET 前加了负号。
// SEEK_END 表示从文件的结尾开始。
//也可以写成 lseek(src_file, -10240, SEEK_END);
/* 读取源文件的最后10KB数据并写到目标文件中,每次读写1KB */
while ((real_read_len = read(src_file, buff, sizeof(buff))) 0) //读取成功时返回读到的字节数
//红字部分也可以写成 read(src_file, buff, 1024)
{
write(dest_file, buff, real_read_len);
// real_read_len 在上一步被赋值为 1KB,即real_read_len = 1024;
//也可以写成write(src_file, buff, 1024)
}
close(dest_file); //关闭文件,这里等同于close(4);
close(src_file); //关闭文件,这里等同于close(3);
return 0; //main函数里,return 0 就是关闭程序。子程序里 return 为返回值。
}
P 214 子进程和父进程 wait()和waitpid() 仔细阅读程序,能写注释或填空,写出输出结果。
wait()函数是用于使父进程阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止。
如果该父进程没有子进程或者他的子进程已经结束,则wait()就会立即返回。
本例中首先使用fork()创建一个子进程,然后让其子进程暂停5s(使用了sleep()函数)。接下来对原有的
您可能关注的文档
- 36班军训总结.doc
- 2012东亚.ppt
- 97题全套题.doc
- Apache2集群配置学习笔记.doc
- ARMA模型预测源代码.doc
- AltiumDesigner09实验指导书.doc
- AutoCAD知识点.doc
- ASinger’sLife.ppt
- BPXZ-HT-1560kVA130kV调频式串联谐振试验装置.doc
- C51安装步骤.doc
- 2025年佛山市直属机关遴选公务员笔试真题汇编附答案解析.docx
- 2023年天津市直属机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2023年吕梁市直机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2023年延安市直机关遴选公务员笔试真题汇编带答案解析.docx
- 2023年惠州市直遴选考试真题汇编附答案解析.docx
- 2023年和田地区直遴选笔试真题汇编附答案解析.docx
- 2023年汉中市直机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026中国建设银行运营数据中心校园招聘20人备考题库及答案详解(基础+提升).docx
- 2023年博尔塔拉蒙古自治州直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2026中国建设银行重庆市分行校园招聘统一笔试及性格测评备考题库含答案详解(最新).docx
原创力文档


文档评论(0)