目录
语法
说明
示例
移动到文件中的新位置
fseek函数的功能是移至文件中的指定位置。
语法
fseek(fileID, offset, origin)
status = fseek(___)
说明
fseek(fileID, offset, origin) 在指定文件中设置文件位置指示符相对于 origin 的 offset 字节数。
当操作成功时,status = fseek(___) 返回 0。否则,fseek 将返回 -1。可以使用上述任意输入参数组合。
示例
移动到文件中的新位置
打开下面的 badpoem.txt 文件,执行读取操作(使位置指针前进),然后使用 seek 移动到文件中的新位置。
如图所示:
使用 fopen 打开文件。然后,使用 ftell 查询当前位置。
fid = fopen('badpoem.txt');
ftell(fid)ans = 0
读取前三行,并在每次读取后查询指针在文件中的位置。使用 fgetl 进行读取,在读取操作后使用 fseek 检查当前位置。
tline1 = fgetl(fid) % read the first line
tline1 =
'Oranges and lemons,'
ftell(fid)
ans = 20
读取第二行并检查当前位置。
tline2 = fgetl(fid) % read the second line
tline2 =
'Pineapples and tea.'
ftell(fid)
ans = 40
读取第三行并检查当前位置。
tline3 = fgetl(fid) % read the third line
tline3 =
'Orangutans and monkeys,'
ftell(fid)
ans = 64
要读取第 2 行,请将文件中的位置设置为指向第 2 行的开头。使用 fseek 设置位置,然后执行读取操作。
fseek(fid,20,'bof');
fgetl(fid)
ans =
'Pineapples and tea.'
关闭文件。
fclose(fid);
参数说明
fileID — 文件标识符
已打开文件的文件标识符,指定为整数。在使用 fseek 之前,必须使用 fopen 打开文件并获取其 fileID。
offset — 字节数
要相对于 origin 移动的字节数,指定为整数。offset 的值可以为正数、负数或零。
origin — 起始位置
文件中的起始位置,指定为字符向量、字符串标量或数值标量。
'bof' 或 -1 | 文件的开头 |
'cof' 或 0 | 文件中的当前位置 |
'eof' 或 1 | 文件的结尾 |
提示
-
如果一个文件有 n 个字节的数据,则这 n 个字节位于从 0 到 n-1 的位置。
备选方法
要移至文件的开头,请调用
frewind(fileID)
此调用等同于
fseek(fileID, 0, 'bof')