嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt

上传人:b****3 文档编号:2759964 上传时间:2022-11-12 格式:PPT 页数:61 大小:356KB
下载 相关 举报
嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt_第1页
第1页 / 共61页
嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt_第2页
第2页 / 共61页
嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt_第3页
第3页 / 共61页
嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt_第4页
第4页 / 共61页
嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt

《嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt(61页珍藏版)》请在冰豆网上搜索。

嵌入式系统软件设计VxWorks【第5章】文件及IO操作.ppt

【第5章】文件及IO操作邹昕光哈尔滨工业大学自动化测试与控制研究所2012课程内容嵌入式系统文件访问的需求基本IO操作函数带缓冲的文件IO操作函数高级文件IO操作嵌入式系统文件访问需求配置文件能给嵌入式系统应用带来灵活性;环境参数;常量值;用户偏好;嵌入式系统采集的数据可以以文件形式存储;数据采集;事件记录;错误导出。

基本IO操作函数openwritereadclose头文件openintopen(constchar*filename,intflags,mode_tmode)打开一个文件;【参数】filename:

待打开文件的文件名;flags:

文件打开的方式;mode:

文件访问权限【返回值】如果打开成功,返回文件描述符;如果打开失败,ERROR;openflagsO_RDONLY以只读方式打开;O_WRONLY以只写方式打开;O_RDWR以读写方式打开;O_CREATE如果文件不存在则创建文件;O_APPEND打开后保证文件偏移指针置于文件位,对文件写操作总是在文件后增加内容。

对设备不起作用。

O_TRUNC如果文件是正规文件,则打开后文件长度变为0,。

对设备不起作用。

readintread(intfd,char*buffer,size_tmaxbytes)从文件或设备中读取数据;【参数】fd:

文件描述符;buffer:

指向接收数据缓存的指针;maxbytes:

读入缓存的最大数据量【返回值】成功返回实际读取的字节数,小于等于maxbytes;如果读到文件尾返回0;失败返回ERROR;writeintwrite(intfd,char*buffer,size_tnbytes)向文件中写入数据;【参数】fd:

文件描述符;buffer:

指向待写入数据缓存的指针;nbytes:

写入数据的长度【返回值】成功返回写入的字节数(对于正规文件,返回字节数总是等于nbytes),否则出错;失败返回ERROR;closeSTATUSclose(intfd)关闭文件;【参数】fd:

文件描述符;【返回值】成功,返回底层驱动函数的状态;失败,返回ERROR;ioctlintioctl(intfd,intfunction,)指向IO控制功能;【参数】fd:

文件描述符;function:

功能码;【返回值】成功,返回底层驱动函数的状态;失败,返回ERROR;例子writeFileDemoreadFileDemoioctlDemo带缓冲的文件IO操作函数C-RuntimeLibrary提供一套文件操作函数;使用时需要包含头文件常用文件操作函数fopenfclosefputsfgetsfreadfwrite文件操作函数常用文件操作函数(续)fseekfeofferrorperrorfopenFILE*fopen(constchar*filename,constchar*mode)打开一个文件;【参数】filename:

待打开文件的文件名;mode:

文件打开的方式;【返回值】如果打开成功,返回指向打开文件的指针;如果打开失败,返回值为NULL,并设置全局变量errno为EINVAL;fopen【说明】常用的mode值“r”将文件以读方式打开,如果文件不存在或找不到,调用失败;“w”将文件以写方式打开,如果文件存在,则文件原来的内容被清空;如果文件不存在,则创建文件;“t”以文本文件方式打开;“b”以二进制文件方式打开fopen【示例】FILE*stream1=NULL;FILE*stream2=NULL;stream1=fopen(“textfile.txt”,“wt”);stream2=fopen(binfile.bin,rb);fcloseintfclose(FILE*stream)关闭文件【参数】stream:

指向待关闭文件的指针;【返回值】如果成功关闭返回0;如果关闭失败返回EOF。

fclose【示例】fclose(stream1);fclose(stream2);fputsintfputs(constchar*str,FILE*stream)将一个字符串写入文件;【参数】str:

待写入的字符串;stream:

指向打开文件的指针;【返回值】如果成功返回一个非负值;如果失败返回EOF。

fputs【示例】fputs(“EmbeddedSystemConfigurationsn”,stream);fgetschar*fgets(char*str,intn,FILE*stream)从文件中读出一个字符串;【参数】str:

存储读出的字符串;n:

期望读出的最大字符数;stream:

指向打开文件的指针;【返回值】成功调用返回str;调用失败或遇到文件尾返回NULL;fgets【说明】fgets试图读入n个字符;fgets停止读取的判断条件为如果遇到换行符;如果读到文件尾;如果读到n-1个字符;在读到的字符串后在添加结束符0。

fgets【示例】打印5行配置信息;假定每行配置信息的字符数不超过100字节。

charconfig100;intitemCount=0;while(!

feof(stream)fgets(config,100,stream);if(ferror(stream)perror(readfailed);break;if(itemCounttv_sec=0&pTimeOut-tv_usec=0;不等待;pTimeOut-tv_sec!

=0|pTimeOut-tv_usec!

=0;等待指定的秒数和微妙数。

例子noSelectDemoselectDemo

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

当前位置:首页 > 经管营销 > 财务管理

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

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