MATLAB frewind()、ftell()和fseek()的用法(附带实例)
在 MATLAB 中,包含基于位置信息对文件进行操作控制的函数,用于实现文件内移动的功能。
frewind() 函数的调用格式及说明如下表所示:
【实例 1】移动文件位置指针示例。在 MATLAB 命令行窗口中输入如下命令:
ftell() 函数的调用格式及说明如下表所示:
【实例 2】查询文件中的位置指针。在 MATLAB 命令行窗口中输入如下命令:
fseek() 函数的调用格式及说明如下表所示:
【实例 3】将文件位置指针移到指定位置。在 MATLAB 命令行窗口中输入如下命令:
MATLAB frewind()函数
在 MATLAB 中,frewind() 函数用于将文件位置指示器移动到打开文件的开头。frewind() 函数的调用格式及说明如下表所示:
调用格式 | 说明 |
---|---|
frewind(fileID) | 将文件位置指针设置到文件的开头 |
【实例 1】移动文件位置指针示例。在 MATLAB 命令行窗口中输入如下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> fid = fopen('stars.txt') % 打开文件 fid = 3 >> fgetl(fid) % 使用 fgetl 读取文件的第1行 ans = 'Ah! why, because the dazzling sun' >> fgetl(fid) % 读取文件的第2行 ans = 'Restored our Earth to joy,' >> fgetl(fid) % 读取文件的第3行 ans = 'Have you departed, every one,' >> frewind(fid) % 将文件位置指针设置到文件的开头 >> fgetl(fid) % 读取文件 ans = 'Ah! why, because the dazzling sun' % 读取文件第1行 >> fclose(fid); % 关闭文件
MATLAB ftell()函数
在 MATLAB 中,ftell() 函数用于将文件位置指示器移动到打开文件中的当前位置。ftell() 函数的调用格式及说明如下表所示:
调用格式 | 说明 |
---|---|
Position=ftell (fileID) | 返回指定文件中位置指针的当前位置 |
【实例 2】查询文件中的位置指针。在 MATLAB 命令行窗口中输入如下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> fid = fopen('stars.txt') % 打开文件 fid = 3 >> ftell(fid) % 查询当前位置 ans = 0 >> fgetl(fid) % 使用 fgetl 读取文件的第1行 ans = 'Ah! why, because the dazzling sun' >> ftell(fid) % 返回位置指针的当前位置 ans = 35 >> fclose(fid); % 关闭文件
MATLAB fseek()函数
在 MATLAB 中,fseek() 函数用于将文件位置指示器移动到文件中的指定位置。fseek() 函数的调用格式及说明如下表所示:
调用格式 | 说明 |
---|---|
fseek(fileID, offset, origin) | 在指定文件中设置文件位置指示符相对于 origin 的 offset 字节数。Origin(起始位置)参数设置为 bof 或 -1:文件的开头;cof 或 0:文件中的当前位置;eof 或 1:文件的结尾 |
status = fseek(…) | 显示操作状态。当操作成功时,返回 0;否则返回 -1 |
【实例 3】将文件位置指针移到指定位置。在 MATLAB 命令行窗口中输入如下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> fid = fopen('stars.txt'); % 打开文件 >> ftell(fid) % 查询文件位置指针的当前位置 ans = 0 >> t=fgetl(fid) % 读取文件的第1行 t = 'Ah! why, because the dazzling sun' >> ftell(fid) % 查询当前位置 ans = 35 >> fseek(fid,12,'bof'); % 将位置指针移到bof指定的文件开头,并移动12字节数 >> fgetl(fid) % 读取新位置的第1行 ans = 'ause the dazzling sun' >> fclose(fid); % 关闭文件