Re: [討論] 讀檔>改值>存取 問題
※ 引述《elbow (elbow)》之銘言:
: 我有一個.dat檔,內涵數值與字串,請問我該如何用matlab改寫裡面的值?
: 例如:
: type myDATA.dat
: dat黨內總共有7行
: 前4行是數值,每行的列數都不一樣
: 後2行是字串
: 請問我該如何撰寫我的程式
: 達到以下步驟:
: 1.開啟myDATA.dat
: 2.將第三行的值120改為130; 第四行的543改為500; 其餘數值與字串均不動
: 3.儲存檔案,新的myDATA.dat會附蓋舊的
: =====
: 我已經試過這樣可以讀取檔案裡的值了:
: >fid = fopen('myDATA.dat','r');
: >cc=fscanf(fid,'%f', [16]); %%讀取檔案裡的前16個值,不會動到字串的部分
: >fclose(fid);
: >cc %%顯示這16個值,但是沒有辦法換行
: =====
: 懇請大家開釋,謝謝
試試看吧
大意是另外開一個檔案
複製貼上不變的 只把那行要變得換掉
fid = fopen('test1.txt','r');
fid2 = fopen('test2.txt','w');
tline = fgetl(fid); %
r=0;
while ischar(tline) % 算檔案有幾行
% disp(tline);
tline = fgetl(fid);
r = r+1;
end
frewind(fid) % 回到檔案頭
for i = 1: r
tline = fgets(fid); %
if i == 3
tline2 = '0 60 150 55';
fprintf(fid2, '%s\r\n', tline2);
else
fwrite(fid2, tline);
end
end
fclose(fid);
fclose(fid2);
我寫的應該不是很簡潔 你可以試著把第一個WHILE那邊改掉
有錯請指證 有更好的寫法也請讓我知道 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.192.73.150
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):