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

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

fseek

移至文件中的指定位置數組

全頁摺疊
 

說明

示例瀏覽器

fseek(fileID, offset, origin) 在指定文件中設置文件位置指示符相對於 originoffset 字節數。app

當操做成功時,status = fseek(___) 返回 0。不然,fseek 將返回 -1。能夠使用上述任意輸入參數組合。url

 

示例

所有摺疊spa

移動到文件中的新位置

打開下面的 badpoem.txt 文件,執行讀取操做(使位置指針前進),而後使用 seek 移動到文件中的新位置。.net

 

 

使用 fopen 打開文件。而後,使用 ftell 查詢當前位置。3d

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

讀取第二行並檢查當前位置。code

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') 

擴展功能

C/C++ 代碼生成
使用 MATLAB® Coder™ 生成 C 代碼和 C++ 代碼。

用法說明和限制:

 

  • 當 MATLAB® 的行爲與 C 編譯器的行爲不一樣時,生成的代碼將與 C 編譯器的行爲相匹配。示例包括:

    • 跳過文件末尾查找。

    • 不在使用追加訪問權限打開的文件末尾進行查找。

     

  • 偏移量做爲有符號長數據類型傳遞給 C 運行時環境。所以,偏移值必須適合目標硬件上的長數據類型。

 

在 R2006a 以前推出

相關文章
相關標籤/搜索