matlab中fseek 移至文件中的指定位置

文章来源:https://ww2.mathworks.cn/help/matlab/ref/fseek.html?searchHighlight=fseek&s_tid=doc_srchtitle

fseek

移至文件中的指定位置

全页折叠
 

说明

示例

fseek(fileID, offset, origin) 在指定文件中设置文件位置指示符相对于 originoffset 字节数。

当操作成功时,status = fseek(___) 返回 0。否则,fseek 将返回 -1。可以使用上述任意输入参数组合。

 

示例

全部折叠

移动到文件中的新位置

打开下面的 badpoem.txt 文件,执行读取操作(使位置指针前进),然后使用 seek 移动到文件中的新位置。

 

matlab中fseek 移至文件中的指定位置

 

使用 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

数据类型: double

offset - 字节数
整数

要相对于 origin 移动的字节数,指定为整数。offset 的值可以为正数、负数或零。

数据类型: double

origin - 起始位置
整数 | 字符向量 | 字符串

文件中的起始位置,指定为字符向量、字符串标量或数值标量。

'bof'-1

文件的开头

'cof'0

文件中的当前位置

'eof'1

文件的结尾

数据类型: double | char | string

提示

  • 如果一个文件有 n 个字节的数据,则这 n 个字节位于从 0n-1 的位置。

备选方法

要移至文件的开头,请调用

frewind(fileID)

此调用等同于

fseek(fileID, 0, 'bof')

扩展功能

用法说明和限制:

 

  • 当 MATLAB® 的行为与 C 编译器的行为不同时,生成的代码将与 C 编译器的行为相匹配。示例包括:

    • 跳过文件末尾查找。

    • 不在使用追加访问权限打开的文件末尾进行查找。

     

  • 偏移量作为有符号长数据类型传递给 C 运行时环境。因此,偏移值必须适合目标硬件上的长数据类型。

 

在 R2006a 之前推出

 

原文链接: https://www.cnblogs.com/MCSFX/p/11703688.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    matlab中fseek 移至文件中的指定位置

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/304416

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午1:52
下一篇 2023年2月16日 上午1:54

相关推荐