《虚拟仪器-labview-课件ppt-7资料.ppt》由会员分享,可在线阅读,更多相关《虚拟仪器-labview-课件ppt-7资料.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章 字符串与文件I/O虚拟仪器-labview-课件PPT-7第七章 字符串与文件I/O 还可以使用操还可以使用操作工具或者标签工作工具或者标签工具输入或者改变字具输入或者改变字符串控制对象中的符串控制对象中的文本。用移位工具文本。用移位工具拖曳字符串控制对拖曳字符串控制对象和显示对象的边象和显示对象的边角可以增大它们的角可以增大它们的面积。面积。第七章 字符串与文件I/O 2 2.字符串控件菜单字符串控件菜单 在前面板字符串对象的右键弹出菜单中,可以调在前面板字符串对象的右键弹出菜单中,可以调整字符串控件的显示模式和外观。整字符串控件的显示模式和外观。第七章 字符串与文件I/O b)“”
2、Codes Display:b)“”Codes Display:控制码显示控制码显示 在该模式下,在该模式下,把把“”及其后接的字符理及其后接的字符理解为格式化字符。这种模式可显示一些不可见解为格式化字符。这种模式可显示一些不可见字符。具体格式及含义见下表:字符。具体格式及含义见下表:(1 1)显示模式)显示模式 在字符串设置菜单中,共有在字符串设置菜单中,共有4 4中模式:中模式:a)Normal Displaya)Normal Display 是控件的缺省模式,在该模式下,显示所是控件的缺省模式,在该模式下,显示所有可显示的输入字符。有些字符在该模式下是有可显示的输入字符。有些字符在该模式
3、下是不可显示的,如制表符、不可显示的,如制表符、ESCESC等等第七章 字符串与文件I/O格式含 义00-FF接两位十六进制整数(大写),显示该值的ASCII字符b退格符(BackSpace,ASCII BS,相当于08)f进格符(Foemfeed,ASCII FF,相当于0C)n换行符(Linefeed,ASCII LF,相当于0A)r回车符(Return,ASCII CR,相当于0D)t制表符(Table,ASCII HT,相当于09)s空格符(Space,相当于 20)反斜线(Backslash,ASCII,相当于5C)第七章 字符串与文件I/O控制码模式控制码模式正常模式正常模式ASC
4、II BF ASCII BF FOREFOREASCII B ASCII B eforeeforeb(b(退格退格)eforeefore 非法字符非法字符,忽略忽略“”r(r(回车回车)(ASCII 3FASCII 3F)?)?r=r(r=r(反斜线反斜线)第七章 字符串与文件I/O c)PassWord Display:c)PassWord Display:口令显示口令显示 在该模式下,在该模式下,键入的字符以键入的字符以“*”“*”显示,显示,主要用于输入口令或密码。拷贝或剪切时,出主要用于输入口令或密码。拷贝或剪切时,出现在剪切板上的也是现在剪切板上的也是“*”“*”。第七章 字符串与文
5、件I/O d)Hex Display:d)Hex Display:十六进制显示十六进制显示 在该模式下,在该模式下,显示输入字符对应的十六进显示输入字符对应的十六进制制ASCIIASCII码。码。输入正常模式输入正常模式 输出十六进制模式输出十六进制模式输入十六进制模式输入十六进制模式 输出正常模式输出正常模式 第七章 字符串与文件I/O(2 2)Limit to single LineLimit to single Line 在该选项有效后,可以防止输入回车符。因在该选项有效后,可以防止输入回车符。因为在为在VIVI通信时,回车符意味着通信结束。注意通信时,回车符意味着通信结束。注意在控制码
6、模式下,在控制码模式下,rr仍然有效。仍然有效。(3 3)Update Value While TypingUpdate Value While Typing 该选项有效后,输入或更改每一个字符的结该选项有效后,输入或更改每一个字符的结果都会同步地传递到端口上,即此时是逐个字符果都会同步地传递到端口上,即此时是逐个字符更新到程序端口上的。缺省情况下(此项未选中)更新到程序端口上的。缺省情况下(此项未选中),控件只在字符串输入结束后(回车),才会把,控件只在字符串输入结束后(回车),才会把结果传递给其它端口。结果传递给其它端口。第七章 字符串与文件I/O 3 3.字符串控件的属性设置字符串控件的
7、属性设置 通过在框图中设置节点的属性,可以改变字符串通过在框图中设置节点的属性,可以改变字符串控件的显示外观,这样可在程序中动态调整字符串控件的显示外观,这样可在程序中动态调整字符串控件的属性。控件的属性。文字大小(文字大小(Text SizeText Size)用来设置字符串控件的尺寸。其输入为含两用来设置字符串控件的尺寸。其输入为含两个无符号整数的簇,分别设置字符串控件的宽和个无符号整数的簇,分别设置字符串控件的宽和高。也可以由高。也可以由WidthWidth和和HeightHeight两个节点来完成。两个节点来完成。第七章 字符串与文件I/O 滚动位置滚动位置(Scroll Positi
8、on)(Scroll Position)移动文本,其输入为无符号整数移动文本,其输入为无符号整数N N。使文本的。使文本的第第N N行处于字符串控件的顶端。动态改变节点的行处于字符串控件的顶端。动态改变节点的输入,可以使文本滚动显示。输入,可以使文本滚动显示。第七章 字符串与文件I/O 选择字符选择字符(Selection)(Selection)用来选择一部分字符。其输入为含两个无符号用来选择一部分字符。其输入为含两个无符号整数的簇,分别设置字符串开始和结束位置。整数的簇,分别设置字符串开始和结束位置。显示风格显示风格(Display Style)(Display Style)用来选择显示模式
9、。输入值用来选择显示模式。输入值0 0、1 1、2 2、3 3分别表分别表示正常显示、控制码显示、口令显和十六进制码示正常显示、控制码显示、口令显和十六进制码显示。显示。第七章 字符串与文件I/O 滚动条滚动条(Scroll Bar)(Scroll Bar)确定是否显示滚动条。确定是否显示滚动条。文字颜色文字颜色(Display Style)(Display Style)用来设置字符串显示颜色。其输入为含两个无用来设置字符串显示颜色。其输入为含两个无符号整数的簇,分别为前景颜色和背景颜色符号整数的簇,分别为前景颜色和背景颜色 。第七章 字符串与文件I/O7.1.3 7.1.3 字符串节点字符串
10、节点 1 1.基本字符串操作节点基本字符串操作节点 求字符串长度节点(求字符串长度节点(String LengthString Length)返回输入字符串的长度。输入可以是字符串(单返回输入字符串的长度。输入可以是字符串(单行或多行),可以是字符串数组,也可以是字符串行或多行),可以是字符串数组,也可以是字符串簇。注意:输入字符串长度包括换行符。簇。注意:输入字符串长度包括换行符。例例8.1.1 8.1.1 输入一个两行字符串,求其长度。输入一个两行字符串,求其长度。第七章 字符串与文件I/O 字符串合并(字符串合并(Concatenate StringConcatenate String)
11、把输入的多个字符串合并成一个字符串。输入可把输入的多个字符串合并成一个字符串。输入可以单一字符串、字符串数组或是字符串簇。注意:以单一字符串、字符串数组或是字符串簇。注意:输入字符串长度包括换行符。输入字符串长度包括换行符。例例7.1.3 7.1.3 输入输入3 3个字符串,将其合并为一个字符串。个字符串,将其合并为一个字符串。第七章 字符串与文件I/O 子字符串提取(子字符串提取(String SubsetString Subset)从输入的字符串的从输入的字符串的Offset(0)Offset(0)位置开始提取规定位置开始提取规定长度长度LengthLength的字符串。当的字符串。当Le
12、ngth=0Length=0时,不操作。时,不操作。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O 格式化的时间字符串格式化的时间字符串(Format Date/Time StringFormat Date/Time String)按给定格式输出时间,包括年月日时分秒和星期。按给定格式输出时间,包括年月日时分秒和星期。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O 时间输出格式表如下:时间输出格式表如下:格式含 义格式含 义%d显示日期%a显示星期%m显示月份%H显示24小时制的小时%y显示两位数的年份%I显示12小时制的小时%Y显示四位数的年份%M显示时间的分%x按本
13、国习惯显示日期%S显示时间的秒%X按本国习惯显示时间%P显示AM/PM标志%c按本国习惯显示日期/时间第七章 字符串与文件I/O例例7.1.47.1.4第七章 字符串与文件I/O 字符的大小写转换字符的大小写转换(To Upper Case,To Lower CaseTo Upper Case,To Lower Case)To Upper CaseTo Upper Case节点把输入字符串中的小写字母节点把输入字符串中的小写字母转换为大写字母;转换为大写字母;To Lower CaseTo Lower Case节点把输入字符节点把输入字符串中的大写字母转换为小写字母。串中的大写字母转换为小写字
14、母。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O 子字符串的替换子字符串的替换(Replace Substring)(Replace Substring)能实现字符串的插入、删除、替换和抽取,节能实现字符串的插入、删除、替换和抽取,节点图标及接口:点图标及接口:第七章 字符串与文件I/O第七章 字符串与文件I/O 字符串的查找与替换字符串的查找与替换(Search and Replace String)(Search and Replace String)能实现字符串的查找与替换,节点图标及接口:能实现字符串的查找与替换,节点图标及接口:第七章 字符串与文件I/O2 2.指令、参
15、数整合节点指令、参数整合节点 从多行字符串中提取从多行字符串中提取1 1行(行(Pick LinePick Line)在输入的多行字符串中在输入的多行字符串中multi-line stringmulti-line string中,中,提取一个指定行(提取一个指定行(line indexline index),并把这行加到字并把这行加到字符串符串stringstring后,组成一个新的字符串输出。后,组成一个新的字符串输出。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O第七章 字符串与文件I/O 从字符串数组中提取从字符串数组中提取1 1行行(Index String ArrayIn
16、dex String Array)把字符串数组把字符串数组string arraystring array中指定单元中指定单元(index)(index)的字符串提取的字符串提取,并把这行加到字符串并把这行加到字符串stringstring后,组后,组成一个新的字符串输出。成一个新的字符串输出。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O第七章 字符串与文件I/O 条件选择字符串并扩展条件选择字符串并扩展(Append True/False String)Append True/False String)如果如果selectorselector输入为输入为True,True,把把
17、true stringtrue string字符串字符串加到字符串加到字符串stringstring后;如果后;如果selectorselector输入为输入为False,False,把把false stringfalse string字符串加到字符串字符串加到字符串stringstring后后,组成组成一个新的字符串输出。一个新的字符串输出。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O第七章 字符串与文件I/O 多字符串的格式化整合多字符串的格式化整合(Format into(Format into String)String)该节点把多个输入与该节点把多个输入与initial
18、initial合并成一个字符串合并成一个字符串输出。输入可以是字符串,也可以是数值。输出的输出。输入可以是字符串,也可以是数值。输出的格式由格式化字符串决定。格式由格式化字符串决定。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O 格式化字符串含义表:格式化字符串含义表:格式含 义%f十进制浮点数%d十进制整数%x十六进制整数%o八进制整数%s二进制整数%A-Za-z字符串%A-Za-z由英文字母组成的字符串abcd由非英文字母组成的字符串%百分号%,:%?:十进制浮点数的小数点的形式第七章 字符串与文件I/O 不同格式化字符串输入时的输出不同格式化字符串输入时的输出Format S
19、tringArgument(s)Resulting StringScore=%2d%87Score=87%Level=n-7.2eV0.03642Level=3.642e-2VName:%s,%sSmithJhonName=Smith,JhoneTemp:%05.1f%s93.793FahrenheitTemp:096.8 FahrenheitString:%10.5sHello,world_Hello第七章 字符串与文件I/O3 3.表达式分析、控制命令节点表达式分析、控制命令节点 表达式分析表达式分析(Scan Form StringScan Form String)根据格式化字符串根据格
20、式化字符串format stringformat string的要求来分析的要求来分析输入字符串,并将其直接转化为相应的类型。在输入字符串,并将其直接转化为相应的类型。在搜索时遇到第一个不匹配的类型时,停止搜索,搜索时遇到第一个不匹配的类型时,停止搜索,余下的字符在余下的字符在remaining stringremaining string中输出。中输出。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O 不同格式化字符串输入时的输出不同格式化字符串输入时的输出输入字符串格式输出剩余字符串abc,xyz12.3e2 7200%s,%s%f%2dAbcXyz12.3e27200Q+1.2
21、7e-3tailQ%ft1.27e-3ail0123456789%3d%3d123456789Set3,46%,;%s%fSet3.46Set49.4.2Set%d49.4.2第七章 字符串与文件I/O 子字符串条件查找子字符串条件查找(Match PatternMatch Pattern)根据输入根据输入regular expressionregular expression定义的条件,从定义的条件,从offsetoffset位置开始检查输入字符串是否存在满足该条位置开始检查输入字符串是否存在满足该条件的子字符串。如果存在,则在件的子字符串。如果存在,则在match substringmat
22、ch substring中返回该子字符串,中返回该子字符串,offset past macthoffset past macth返回返回after after substringsubstring后第一个字符的位置。否则后第一个字符的位置。否则offset past offset past macthmacth返回返回1 1。regular expressionregular expression可以使字符串,也可是通配可以使字符串,也可是通配符。节点图标及接口:符。节点图标及接口:第七章 字符串与文件I/O 特征字符串查找特征字符串查找(Scan String For TokenScan S
23、tring For Token)节点图标及接口:节点图标及接口:这个节点用于分析查找输入字符串中的一些这个节点用于分析查找输入字符串中的一些特征字符串,特征字符串,可用来分析运算表达式字符串中的可用来分析运算表达式字符串中的数字、变量、运算符等。输入输出端口含义:数字、变量、运算符等。输入输出端口含义:operatorsoperators:字符串数组输入,用来列举特征字:字符串数组输入,用来列举特征字符串。符串。delimiters:delimiters:字符串数组输入,用来列举分隔符,字符串数组输入,用来列举分隔符,在两个分隔符之间的子字符串就是一个特征在两个分隔符之间的子字符串就是一个特征
24、第七章 字符串与文件I/O子字符串。子字符串。DelimitersDelimiters的缺省值为的缺省值为%s,%t,%r,%n(%s,%t,%r,%n(空格、空格、制表符、换行、回车制表符、换行、回车)。Offset past token:Offset past token:上一个特征子字符串结束的位置,上一个特征子字符串结束的位置,即下一个特征子字符串的起始位置。即下一个特征子字符串的起始位置。token string:token string:输出查找到的特征子字符串。输出查找到的特征子字符串。token index:token index:如果找到的特征子字符串是如果找到的特征子字符串
25、是operatorsoperators中中列举的,则在列举的,则在token indextoken index中输出子字符串在中输出子字符串在operatorsoperators数组中的位置,否则输出数组中的位置,否则输出1 1。若搜索到字符串尾,则输。若搜索到字符串尾,则输出出2 2。Allow empty tokens:if trueAllow empty tokens:if true,在输入中有两个相临,在输入中有两个相临的分隔符时,将在的分隔符时,将在token stringtoken string中返回一个空值。中返回一个空值。use cached delim/oper data?:
26、if true,use cached delim/oper data?:if true,将有一个缓将有一个缓冲区来保存冲区来保存delimdelim和和operoper中的数据。分析开始时,保证该中的数据。分析开始时,保证该值为值为falsefalse。第七章 字符串与文件I/O例例7.1.7 Scan String For Token 7.1.7 Scan String For Token 节点用法。节点用法。第七章 字符串与文件I/O第七章 字符串与文件I/O4 4.电子表格字符串操作节点电子表格字符串操作节点 数组到电子表格数组到电子表格(Array to spreadsheet Str
27、ing)Array to spreadsheet String)电子表格是用文本方式记录数据的。它把数据电子表格是用文本方式记录数据的。它把数据分成很多行,行与行之间用换行符分隔,同一行分成很多行,行与行之间用换行符分隔,同一行的不同数据单元用制表符分隔。该节点用于把数的不同数据单元用制表符分隔。该节点用于把数组中的数值或字符串用电子表格的形式表示。组中的数值或字符串用电子表格的形式表示。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O例例7.1.8 7.1.8 把一个浮点数的数组转换成电子表格。把一个浮点数的数组转换成电子表格。第七章 字符串与文件I/O 电子表格到数组电子表格到数
28、组 (spreadsheet Stringspreadsheet String toto Array)Array)该节点与该节点与spreadsheet String to Arrayspreadsheet String to Array节点的节点的功能相反,它把一个电子表格转化成一个数组。数功能相反,它把一个电子表格转化成一个数组。数组类型在组类型在array typearray type中定义,缺省为二维的浮点数中定义,缺省为二维的浮点数数组。数组。节点图标及接口:节点图标及接口:第七章 字符串与文件I/O7.2 7.2 文件文件I/OI/O7.2.1 7.2.1 基本概念及术语基本概念及
29、术语 1 1.路径及路径控件路径及路径控件(Path Control and Indictor)(Path Control and Indictor)文件名:文件的名称;文件名:文件的名称;目录:指文件存在的位置;目录:指文件存在的位置;路径:保存文件所在位置的目录和文件名。路径:保存文件所在位置的目录和文件名。LabVIEWLabVIEW用路径输入控件输入一个路径;用路径用路径输入控件输入一个路径;用路径输出控件返回一个路径。路径名的输入与字符串完输出控件返回一个路径。路径名的输入与字符串完全相同,路径就是一种符合一定格式的字符串。路全相同,路径就是一种符合一定格式的字符串。路径输入输出控件
30、面板及端口如下:径输入输出控件面板及端口如下:第七章 字符串与文件I/O2 2.LabVIEWLabVIEW文件的分类文件的分类 LabVIEWLabVIEW提供了多种文件类型,如提供了多种文件类型,如:文本文件、二文本文件、二进制文件、数据记录文件、波形数据文件等。进制文件、数据记录文件、波形数据文件等。文本文件文本文件(Text Files)(Text Files)这种格式的文件是这种格式的文件是ASCIIASCII码字节流,可以用文字码字节流,可以用文字处理软件或电子表格程序来读取或处理数据。缺点处理软件或电子表格程序来读取或处理数据。缺点是占用的磁盘空间大,存取速度慢。如对一个浮点是占
31、用的磁盘空间大,存取速度慢。如对一个浮点数数123.4567123.4567,如按单精度浮点数存储只占用,如按单精度浮点数存储只占用4 4个个字节;但按字节;但按ASCIIASCII码字符串存储,需占用码字符串存储,需占用9 9个字节。个字节。由于不同数据占用不同字节数,因此不能随机访问由于不同数据占用不同字节数,因此不能随机访问数据文件。数据文件。第七章 字符串与文件I/O 表单文件(表单文件(Spreadsheet FilesSpreadsheet Files)这实际上也是一种文本文件,只不过它的输入数这实际上也是一种文本文件,只不过它的输入数据格式可以是一维或二维数据数组。它将数据数组据
32、格式可以是一维或二维数据数组。它将数据数组转换为转换为ASCIIASCII码存放在电子表格文件中,因此用它码存放在电子表格文件中,因此用它存储数据数组非常方便。存储数据数组非常方便。二进制文件(二进制文件(Binary FilesBinary Files)是速度最快,格式最紧凑的数据存储方式。可以是速度最快,格式最紧凑的数据存储方式。可以对二进制文件进行随机访问,但需知道数据类型。对二进制文件进行随机访问,但需知道数据类型。与文本文件不同的是,人们不能直接读懂二进制与文本文件不同的是,人们不能直接读懂二进制文件,必须通过翻译后才能读懂。文件,必须通过翻译后才能读懂。第七章 字符串与文件I/O
33、数据记录文件数据记录文件(Datalog Files)(Datalog Files)实际也是一种二进制文件。它的基本数据类型为实际也是一种二进制文件。它的基本数据类型为记录块记录块(Record)(Record),一个记录中可以有几种不同的数,一个记录中可以有几种不同的数据类型。同一文件的数据块必须有相同的数据结构。据类型。同一文件的数据块必须有相同的数据结构。块记录文件的存储、添加、删除等操作必须以记录块记录文件的存储、添加、删除等操作必须以记录为单位。为单位。波形数据文件(波形数据文件(WaveformWaveform)这种文件保护了波形数据特有的一些信息,如采这种文件保护了波形数据特有的
34、一些信息,如采样开始时间、采样间隔等。样开始时间、采样间隔等。其它文件类型其它文件类型 XMLXML文件、配置文件、文件、配置文件、LVMLVM文件、文件、TDMTDM文件,以及文件,以及TDMSTDMS文件。文件。第七章 字符串与文件I/O3.3.文件文件I/OI/O的错误处理的错误处理 在在LabVIEWLabVIEW中,大多数文件中,大多数文件I/OI/O节点有一个节点有一个error error inin和和error outerror out端口,它们的数据类型为簇。当几端口,它们的数据类型为簇。当几个个I/OI/O节点连接在一起,如果一个节点出错,则该节点连接在一起,如果一个节点出
35、错,则该节点的节点的error outerror out将返回的错误信息传递到下一个将返回的错误信息传递到下一个节点的节点的error inerror in,此时接收到错误信息的节点不执,此时接收到错误信息的节点不执行操作,而把错误信息通过行操作,而把错误信息通过error outerror out传递到下一传递到下一个节点的个节点的error inerror in,直到最后一个节点。这样就可,直到最后一个节点。这样就可在最后一个节点的在最后一个节点的error outerror out端口连接出错处理端口连接出错处理VIVI,避免错误扩散和无用操作,避免错误扩散和无用操作第七章 字符串与文件
36、I/O7.2.2 7.2.2 文件的基本操作文件的基本操作 LabVIEWLabVIEW提供了一组文件提供了一组文件I/OI/O操作节点集,用于操作节点集,用于文件的创立、读、写,删除、移动及文件拷贝,查文件的创立、读、写,删除、移动及文件拷贝,查看文件及目录列表等。看文件及目录列表等。文件操作主要包含文件操作主要包含3 3个步骤个步骤:(1)(1)创建新文件或打开一个旧文件;创建新文件或打开一个旧文件;(2)(2)对文件进行读写操作;对文件进行读写操作;(3)(3)关闭文件。关闭文件。LabVIEWLabVIEW的文件操作节点如下:的文件操作节点如下:第七章 字符串与文件I/O第七章 字符串
37、与文件I/O7.2.3 7.2.3 表单文件表单文件 1 1 写电子表格文件写电子表格文件(Write to Spreadsheet File)(Write to Spreadsheet File)该节点把一个二维或一维单精度浮点数数组写到该节点把一个二维或一维单精度浮点数数组写到一个电子表格文件中。节点图标及连接端口如下图:一个电子表格文件中。节点图标及连接端口如下图:如果文件存在,则既可以把数据追加到该文件,如果文件存在,则既可以把数据追加到该文件,也可以覆盖原有的数据;如果文件不存在,则创也可以覆盖原有的数据;如果文件不存在,则创建新文件。此节点在读取数据前打开文件,读取建新文件。此节点
38、在读取数据前打开文件,读取操作完成后关闭该文件。操作完成后关闭该文件。第七章 字符串与文件I/O 2 2 读电子表格文件读电子表格文件(Read From Spreadsheet File)(Read From Spreadsheet File)从一个电子表格文件中读取一定数量的数据,从一个电子表格文件中读取一定数量的数据,并把这些数值字符串转换成单精度浮点数后,从并把这些数值字符串转换成单精度浮点数后,从一个二维数组中返回。节点图标及连接端口如下一个二维数组中返回。节点图标及连接端口如下图:图:注意:电子表格文件的所有字符串必须由有效的注意:电子表格文件的所有字符串必须由有效的数值字符组成。
39、此节点在读取数据前打开文件,读数值字符组成。此节点在读取数据前打开文件,读取操作完成后关闭该文件。取操作完成后关闭该文件。第七章 字符串与文件I/O例例 7.2.1 7.2.1 由序号由序号i i和一个随机数构成的电子表和一个随机数构成的电子表格文件。格文件。第七章 字符串与文件I/O 运行该程序后,在运行该程序后,在E E盘生成盘生成c1.xlsdc1.xlsd的电子表的电子表格文件。用格文件。用ExcelExcel打开这个文件,可以看两列数打开这个文件,可以看两列数据:一列是序号,另一列是随机数。据:一列是序号,另一列是随机数。第七章 字符串与文件I/O例例 7.2.2 7.2.2 读电子
40、表格文件。读电子表格文件。第七章 字符串与文件I/O7.2.4 7.2.4 文本文件文本文件 1 1 写文本文件写文本文件(Write to Text File)(Write to Text File)把字符串写入一个新文件中或追加到一个已经把字符串写入一个新文件中或追加到一个已经存在的文件尾。在写字符串前,打开或创建文件;存在的文件尾。在写字符串前,打开或创建文件;操作完成后自动关闭该文件。节点图标及连接端操作完成后自动关闭该文件。节点图标及连接端口如下图:口如下图:第七章 字符串与文件I/O 2 2 读取文本文件读取文本文件(Read From Text File)(Read From T
41、ext File)从一个文本文件中读取字符,操作完成后自动关从一个文本文件中读取字符,操作完成后自动关闭该文件。节点图标及连接端口如下图:闭该文件。节点图标及连接端口如下图:第七章 字符串与文件I/O例例 7.2.3 7.2.3 由序号由序号i i和一个随机数构成的文本文和一个随机数构成的文本文件。件。第七章 字符串与文件I/O 运行该程序后,在运行该程序后,在E E盘生成盘生成f1f1的文本文件。用的文本文件。用记事本打开这个文件,可以该数据序列。记事本打开这个文件,可以该数据序列。第七章 字符串与文件I/O例例 7.2.4 7.2.4 读文本文件。读文本文件。第七章 字符串与文件I/O7.
42、2.5 7.2.5 二进制文件二进制文件 1 1 写二进制文件写二进制文件(Write to Binary File)(Write to Binary File)二进制文件的数据可以是任何数据类型,譬如二进制文件的数据可以是任何数据类型,譬如数组或簇等复杂数据。新的数据可以追加到已有数组或簇等复杂数据。新的数据可以追加到已有文件尾,也可以覆盖原有的数据;如果输入的文文件尾,也可以覆盖原有的数据;如果输入的文件不存在,则创建一个新文件。节点图标及连接件不存在,则创建一个新文件。节点图标及连接端口如下图:端口如下图:第七章 字符串与文件I/O 2 2 读二进制文件读二进制文件(Read From
43、Binary File)(Read From Binary File)从一个二进制文件中读取指定格式的数据,读从一个二进制文件中读取指定格式的数据,读出时的数据格式必须与写入时的格式完全一致,出时的数据格式必须与写入时的格式完全一致,否则数据出现混乱。节点图标及连接端口如下图:否则数据出现混乱。节点图标及连接端口如下图:第七章 字符串与文件I/O例例 7.2.5 7.2.5 二进制文件保存二进制文件保存第七章 字符串与文件I/O例例 7.2.6 7.2.6 二进制文件读取二进制文件读取第七章 字符串与文件I/O7.2.6 7.2.6 数据记录文件数据记录文件 数据记录文件实际也是一种二进制文件
44、,输数据记录文件实际也是一种二进制文件,输入的数据类型可以是任何数据类型。操作方法入的数据类型可以是任何数据类型。操作方法与二进制文件基本相同。不同的是数据记录文与二进制文件基本相同。不同的是数据记录文件必须用它的专用操作函数。在件必须用它的专用操作函数。在FILE I/O|FILE I/O|Advanced File Functions|DatalogAdvanced File Functions|Datalog下下第七章 字符串与文件I/O 1 1.写数据记录文件写数据记录文件 数据记录文件类似于数据库文件,每个记录数据记录文件类似于数据库文件,每个记录实际就是一个簇。如上图,该簇由一个字
45、符串,实际就是一个簇。如上图,该簇由一个字符串,一个数值和一个数组构成。一个数值和一个数组构成。第七章 字符串与文件I/O第七章 字符串与文件I/O 2 2.读数据记录文件读数据记录文件 注意:如果注意:如果dadtlog typedadtlog type参数的数据类型与数参数的数据类型与数据记录文件中的数据类型不匹配,程序运行后不据记录文件中的数据类型不匹配,程序运行后不能读出数据,并返回类型冲突的出错信息。能读出数据,并返回类型冲突的出错信息。第七章 字符串与文件I/O 读取的数据记录如下:读取的数据记录如下:第七章 字符串与文件I/O7.2.7 7.2.7 波形文件的输入输出波形文件的输
46、入输出 波形文件实际也是一种数据记录文件。一个波形波形文件实际也是一种数据记录文件。一个波形包括采样开始时间包括采样开始时间t0t0,采样时间间隔,采样时间间隔dtdt,和采样数,和采样数据(一个数组)三部分信息。据(一个数组)三部分信息。1 1.写波形文件写波形文件 第七章 字符串与文件I/O 写波形文件程序前面板:写波形文件程序前面板:第七章 字符串与文件I/O 2 2.读波形文件读波形文件 读波形文件程序框图:读波形文件程序框图:第七章 字符串与文件I/O 读波形文件程序前面板:读波形文件程序前面板:第七章 字符串与文件I/O 7.2.8 7.2.8 常用高级文件操作节点常用高级文件操作
47、节点 在高级文件操作模板下,除了数据记录文件子模在高级文件操作模板下,除了数据记录文件子模板外,还包括了一些其它常用文件操作函数。如下板外,还包括了一些其它常用文件操作函数。如下图:图:第七章 字符串与文件I/O 1 1 文件指针定位节点文件指针定位节点(Set File Position)(Set File Position)LabVIEW LabVIEW的的SeekSeek节点可以用来移动文件针,节点节点可以用来移动文件针,节点图标及连接端口如下图:图标及连接端口如下图:指针移动位置由指针移动位置由fromfrom和和offsetoffset决定。当决定。当fromfrom0 0,文件指针
48、为文件开始指针,文件指针为文件开始指针(0)(0)与与offsetoffset的值相加的值相加的结果;当的结果;当from from 1 1,文件指针为文件尾指针,文件指针为文件尾指针(即即文件长度文件长度)与与offsetoffset的值相加的结果;当的值相加的结果;当fromfrom2 2,文件指针为当前指针与文件指针为当前指针与offsetoffset的值相加的结果。的值相加的结果。第七章 字符串与文件I/O 2 2 设置文件大小设置文件大小(Set File Size)(Set File Size)在文件的指定位置设置一个文件结束符在文件的指定位置设置一个文件结束符EOFEOF来设来设
49、置文件大小,节点图标及连接端口如下图:置文件大小,节点图标及连接端口如下图:文件截断位置由文件截断位置由sizesize指定。操作完成后,文件指指定。操作完成后,文件指针位于文件尾。针位于文件尾。第七章 字符串与文件I/O 3 3 删除文件(删除文件(del)del)删除由删除由pathpath输入的文件或目录,节点图标及连输入的文件或目录,节点图标及连接端口如下图:接端口如下图:4 4 移动文件(移动文件(Move)Move)把一个文件从源位置移动到目标位置。节点图把一个文件从源位置移动到目标位置。节点图标及连接端口如下图:标及连接端口如下图:第七章 字符串与文件I/O 5 5 复制文件(复
50、制文件(Copy)Copy)把文件从源位置复制一份到目标位置。节点图把文件从源位置复制一份到目标位置。节点图标及连接端口如下图:标及连接端口如下图:6 6 文件文件/目录信息(目录信息(File/Dir Info)File/Dir Info)返回由返回由pathpath输入的文件或目录属性,如大小、最输入的文件或目录属性,如大小、最后修改时间等。节点图标及连接端口如下图:后修改时间等。节点图标及连接端口如下图:第七章 字符串与文件I/O 7 7 创建一个路径创建一个路径(Build a path)在已有路径在已有路径base pathbase path后添加字符串,构成新的后添加字符串,构成新