在上述文章章末這樣寫道:
根據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...