文章来源:https://ww2.mathworks.cn/help/matlab/ref/fseek.html?searchHighlight=fseek&s_tid=doc_srchtitle
说明
offset 字节数。
当操作成功时,-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);
输入参数
提示
-
如果一个文件有
n个字节的数据,则这n个字节位于从0到n-1的位置。
备选方法
要移至文件的开头,请调用
frewind(fileID)
此调用等同于
fseek(fileID, 0, 'bof')
扩展功能
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
-
当 MATLAB® 的行为与 C 编译器的行为不同时,生成的代码将与 C 编译器的行为相匹配。示例包括:
-
跳过文件末尾查找。
-
不在使用追加访问权限打开的文件末尾进行查找。
-
-
偏移量作为有符号长数据类型传递给 C 运行时环境。因此,偏移值必须适合目标硬件上的长数据类型。
在 R2006a 之前推出