- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12、文件和文本输入输出 ★一个文件只能包含一种类型的对象, 例如:整数、位向量或字符串,这是由文件的类型设定的。 ★例如,说明语句 type bv_file is file of bit_vector; 定义了bv_file为一个只包含位向量的文件类型。 ★每个文件类型都有一个与其相关的隐式文件结束函数,其调用格式为: endfile(文件名) 如果文件指针在文件的末尾,则此语句返回“真”。 12、文件和文本输入输出 ★ VHDL的标准TEXTIO包集合中包含对文件进行操作的定义说明和过程(procedure),这些文件都是由文本行构成的。 ★ TEXTIO包集合(见附录C)定义一个名为text的文件类型: type text is file of string; ★ TEXTIO包集合中既包含从text类型的文件中按行进行文本读取的过程(procedure),也包含按行在文件中写入文本的过程。 12、文件和文本输入输出 ★过程:readline 读取一行文本,并将其放置在一个带指针的缓存器中。 ★缓存器的指针必须为line类型,在TEXTIO包集合中的说明为 type line is access string; ★只要说明了一个line类型的变量,就会生成一个指向字符串的指针。代码 variable buff: line; ... readline(buff,test_data); 从test_data中读取一行文本,并将其置于被指针buff指向的缓存器中。 12、文件和文本输入输出 ★在缓存器中读入一行文本后,我们必须一次或多次调用read过程,以便从行缓存器中把数据释放出来。 ★过程read: 可以从缓存器中读取数据类型为位、位向量、布尔量、字符、整数、实数、字符串和时间的数据。 ★例如,如果bv4是一个长度为4的位向量,则调用 read(buff,bv4); 可以从缓存器中释放一个4位的向量,把bv4设置为此向量,并且调整指针buff,使其指向缓存器的下一个字符。再次调用read过程可以从行缓存器中释放下一个数据对象。 read的调用格式可以是以下两种格式中的一种: read (pointer,value); read (pointer,value,good); 其中pointer为line类型,value是我们想读取的数据变量。 12、文件和文本输入输出 ★read的调用格式可以是以下两种格式中的一种: read (pointer,value); read (pointer,value,good); 其中pointer为line类型,value是我们想读取的数据变量。 ★ value的大小和类型决定调用TEXTIO包集合中的哪一个read过程。 ★例如,如果value为一个长度为5的字符串,那么调用read后可以从行缓存器中读取下五个字符。 ★如果value的类型是整数,那么调用read后可以越过所有的空格对十进制数字进行读取,直到再遇到空格或其它的非数字的字符为止,并且把读取到的字符串转换为整数。 ★在text类型的文件中,字符、字符串和位向量不用符号分隔。 12、文件和文本输入输出 ★为了向文件中写入文本行,我们必须一次或者多次调用一个write过程向行缓存器中写入数据,然后调用writeline向文件中写入数据。 ★ write过程可以把类型为位、位向量、布尔量、字符、整数、实数、字符串和时间的数据写入缓存器。例如,代码 variable buffw:line; variable int1: integer; variable bv8: bit_vector(7 downto 0); ... write (buffw,int1,right,6); write (buffw,bv8,right,10); writeline (buffw,output_file); ★可以将int1转化为字符本串,向buffw指向的行缓存器中写入此字符串,并且调整指针,此文本在一个宽度为6个字符的区域内向右对齐。 12、文件和文本输入输出 ★ write (buffw,bv8,right,10); 该语句将位向量bv8置于一个行缓存器中,然后调整指针。这个8位向量在宽度为10个字符的区域内向右对齐。 ★ writeline (buffw,output_file); 该语句把缓存器的内容写入out_file中。 ★每个写调用均有四个参数: (1)line类型的缓存器指针; (2)一个可接收的数据类型的值; (3)在输出区域内指定文本位置的对齐方式(左、右); (4)区域宽度,一个整数,它设定了区域中字符的个数。 12、文件和文本输
您可能关注的文档
- VFP第12章关系数据库设计基础教学课件.ppt
- VFP第7次课.ppt
- VFP第3章PPT.ppt
- vfp第7部分.ppt
- VFP第3章关系数据库设计基础教学课件.ppt
- VFP第一章数据库系统概述.ppt
- VFP第一章(精编资料).ppt
- vfp第七章.ppt
- VFP第7章表单设计及应用教学课件.ppt
- vfp第八讲.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 初中数学教师晋升高级(一级)职称水平考试模拟试卷(四).docx
- 销售清单一式两联售货清单单据通用A5.docx
- 初中数学教师晋升高级(一级)职称水平考试试卷(一).docx
- 格列佛游记(中英对照).pdf
- 第三单元整体教学设计-【大单元教学】2023-2024学年八年级语文上册名师备课系列(统编版).pdf
- 第18课 白鸽相伴 本真相随——《我的白鸽》导学案-2024-2025学年七年级语文上册同步高效课堂(统编版2024).docx
- (2024秋)部编版七年级语文上册《我的白鸽》教案.docx
- 麻醉中的咳嗽引起并发症的处理.pptx
- Unit 4 Time to celebrate 大单元整体教学设计 外研版2024七年级上册教学评一体化.docx
- 销售发票管理明细表.xlsx VIP
文档评论(0)