嵌入式第四章..ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 思考与实验 设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件;读取系统文件“/etc/passwd”,把文件中的内容都写入“pass”文件。 设计一个程序,要求将10分别以十进制、八进制和十六进制输出。 设计一个程序,要求新建一个目录,预设权限为 -x--x--x--。 设计一个程序,要求为“/bin/ls”文件建立一个软链接“ls1”和一个硬链接为“ls2”,并查看两个链接文件和“/bin/ls”文件。 * * * * * * * * * * * * * * * 流文件的打开和关闭 例4.9:设计一个程序,要求用流文件I/O操作打开文件“4-9file”, 如果该文件不存在,则创建此文件。 源程序代码: 思考题:设计一个程序,要求用带缓存的流文件I/O操作,在当前目录下,打开名称为“tmpfile”的文件,如果该文件不存在,则创建此文件,如果存在,将文件清空后关闭。 * 4.3.2 流文件的读写操作 fwrite(将数据写至文件流) * 头文件 #includestdio.h 定义函数 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream); 函数说明 fwrite()用来将数据写入文件流中。 size_t~在32位系统上 定义为 unsigned int 在64位系统上 定义为 unsigned long Stream~已打开的文件指针 ptr ~指向写入的数据的缓冲区 size~记录大小 nmemb~记录数 返回值~ 返回实际写入的nmemb数目。 * 4.3.2 流文件的读写操作 fread(从文件流读取数据) * 头文件 #includestdio.h 定义函数 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream); 函数说明: fread()用来从文件流中读取数据。 Stream~已打开的文件指针 ptr ~指向存放读取数据的缓冲区 size~记录大小 nmemb~记录数 Fread()~会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。 返回值~ 返回实际读取到的nmemb数目。 * 4.3.2 流文件的读写操作 例4.10**:设计一个程序,要求把键盘上输入的字符写入文件“4-10file”, 如果该文件不存在,则创建此文件。 源程序代码: * 4.3.2 流文件的读写操作 例4.11**:设计一个程序,要求把键盘上输入的字符串写入文件“4-11file”, 如果该文件不存在,则创建此文件。 源程序代码: * 4.3.1 流文件的打开和关闭 例4.12*:设计两个程序,要求一个程序把三个人的姓名和帐号余额信息,通过一次流文件I/O操作写入文件“4-12file”,另一个格式输出帐号信息,把每个人的帐号和余额一一对应显示输出。 4-12fwrite.c,4-12fread.c程序代码 : * * * 思考题: 完善例4.12的程序,使得帐号和余额都可以从键盘输入,余额可以输入小数。 设计一个程序,要求把一个文本文件“4-12test”中的数据读出,文本文件“4-12test”有两列数据,第一列是帐号(11位整数表示),第二列是帐号余额(double数据类型),两列数据间用逗号隔开,按帐号余额从小到大排序后,把排序后的数据写入文本文件“4-12sort”,帐号要和余额一一对应。 * 4.3.4 文件的定位* fseek(移动文件流的读写位置) 表头文件: #includestdio.h 定义函数:int fseek(FILE * stream,long offset,int whence); 函数说明 : fseek()用来移动文件流的读写位置。 参数stream为已打开的文件指针, 参数offset为根据参数whence来移动读写位置的位移数。 参数 whence为下列其中一种: SEEK_SET~从距文件开头offset位移量为新的读写位置。SEEK_CUR~ 以目前的读写位置往后增加offset个位移量。 SEEK_END~将读写位置指向文件尾后再增加offset个位移量。 当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。 返回值 当调用成功时则返回0,若有错误则返回-1,errno会存放错误代码。 * 4.3.4 文件的定位 实现随机读写的关键是要按要求移动位置指针,这称为文件的定位。文件定位移动文件内部位置指针的函数主要有三个

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档