MATLAB替換TXT檔案中的指定行的全部內容

2021-09-26 14:42:10 字數 838 閱讀 9109

在上述文章章末這樣寫道:

根據matlab的幫助檔案,實現重寫有兩種辦法,一種是替換的內容的長度等於原來一行內容長度的時候,可以精確替換,另一種是替換的內容的長度大於原來一行內容長度的時候,這一行之後的所有行都要重新寫。

在本人學習研究之後,發現若txt文件很大(長),替換的內容的長度大於原來一行內容長度的時候,這一行之後的所有行都要重新寫,必然很繁瑣,且耗時。故提出以下解決辦法,即使替換內容大於原先行長度,也只需要重寫指定行內容即可。

第一步要求:

將txt檔案中的替換指定行後空一行,儲存

第二步,寫matlab程式:

clc;

clear all;

close all;

replaceline = 5; %指定的替換行,將第5行替換

myformat = '%s\n'; %輸出格式,注意:\n不能少

newdata ='lay'; %替換內容

fid = fopen('new.txt','r+');

%txt在matlab工作目錄下,直接寫檔名和字尾即可,否則請寫全路徑,如:fid = fopen('c:\new.txt','r+');

for k=1:(replaceline-1)

fgetl(fid);

end

% 設定游標位置

fseek(fid, 0, 'cof'); %在檔案當前位置游標向後移動0位元組

fprintf(fid, myformat, newdata); %重寫該行

fclose(fid);

3.第三步 執行

Matlab讀寫 txt檔案內容

一 讀取.txt檔案 713 439 334 16339 1 12.bmp 709 473 336 15042 2 2.bmp 666 462 333 14951 3 20.bmp 703 472 333 15024 4 22.bmp 696 487 334 14994 5 24.bmp 656 4...

matlab如何讀取txt檔案

格式化文字的讀操作 唯讀形式開啟txt檔案 file t fopen mytxt.txt r 以十進位制讀取,且讀取的資料自動排成一列,排的順序為 先從第一行左邊到第一行右邊,然後排第二行 a fscanf file t,d 關閉檔案 fclose file t 使用textscan讀取多列資料 f...

Matlab中讀取txt檔案的幾種方法

一 純資料檔案 沒有字母和中文,純數字 對於這種txt文件,從matalb中讀取就簡單多了 例如test.txt檔案,內容為 17.901 1.1111 33.045 17.891 1.1286 33.045 17.884 1.1345 33.045 可以在command window中輸入load...