Halcon可以操作普通文本文件,也可以操作二进制文件。如下图所示,只需要设置“FileType”参数的取值即可明确是操作文本文件还是二进制文件:

 

 

下面的程序是操作一个.txt文本文件的完整代码:

 1 * 'input':将已存在的输入文件以ASCII格式打开以供读取。该文件打开以后,将不能再往里面写东西 2 * 'output':将打开一个新的输出文件,以便以ASCII格式写入。如果有同名文件,则原文件将先被删除 3 * 'append':将已存在的输出文件在文件末尾打开,以便以ASCII格式追加写入。
 4 
 5 path := '1.txt'
 6 
 7 open_file (path, 'output', FileHandle)
 8 
 9 fwrite_string (FileHandle, 'Hello')
10 fwrite_string (FileHandle, ',world')
11 fnew_line (FileHandle)
12 fnew_line (FileHandle)
13 fwrite_string (FileHandle, '886')
14 
15 close_file (FileHandle)
16 
17 
18 open_file (path, 'input', FileHandle)
19 
20 * fread_char是一次读取一个字符。如果一直重复读到末尾,Char的值为'eof'(结束标记)
21 * fread_line读取一整行的内容,可能会含有换行标记
22 * 可以分别取消下面两行代码的注释,观察读到了什么内容
23 * fread_char (FileHandle, Char)
24 * fread_line (FileHandle, OutLine, IsEOF)
25 
26 * 注意,读文本内容时,剩余可读的东西是越读越少的
27 * fread_string也是读取一行的文本,但是不包含换行标记
28 fread_string (FileHandle, OutString1, IsEOF1)
29 fread_string (FileHandle, OutString2, IsEOF2)
30 
31 close_file (FileHandle)
32 
33 
34 * 判断文件是否存在并删除文件
35 file_exists (path, FileExists)
36 if (FileExists)
37     open_file (path, 'input', FileHandle)
38     fread_string (FileHandle, OutString3, IsEOF3)
39     close_file (FileHandle)
40     delete_file (path)
41 endif

 

第15行close_file 之后,1.txt中内容为:

 



posted on 2019-02-14 17:32  xh6300  阅读(12712)  评论(2编辑  收藏  举报