→ arthurs21:那就存入cell吧!! 03/10 11:17
推 glorin:感謝前輩的回答...但是如果字串長度不固定該怎麼做呢 03/10 12:33
→ arthurs21:1.補滿空格 2.用cell 3.還沒想到 03/10 12:56
→ glorin:回完文才看到前輩的回答...已再將問題詳細說明囉!!Thanks. 03/10 13:05
> -------------------------------------------------------------------------- <
作者: glorin (隨風出發.找到新的方向) 看板: MATLAB
標題: Re: [問題] 讀取檔案每行字串到陣列中
時間: Mon Mar 10 13:03:26 2008
※ 引述《Gwaewluin (神無月 孝臣)》之銘言:
: ※ 引述《glorin (隨風出發.找到新的方向)》之銘言:
: : 不好意思, 又來請教各位前輩了(已事先瘋狂爬文過了)
: : 想請問的第一個問題是當我讀取一個檔案中的字串時
: : 例如檔案內容為:
: : A
: : B
: : C
: : 已使用以下程式碼去讀取每行字串
: : fid = fopen('doc.txt');
: : while 1
: : tline = fgetl(fid);
: : if ~ischar(tline), break, end
: : disp(tline);
: : end
: : 但不曉得該如何將它存成一個一維陣列呢?也就是變成:
: : | A |
: : | B |
: : | C |
: str = [] ;
: fid = fopen('doc.txt');
: while 1
: tline = fgetl(fid);
: str = [ str ; tline ] ;
: if ~ischar(tline), break, end
: disp(tline);
: end
: 這樣做有個限定就是你的哪堆字串必須長度都完全一樣
先感謝Gwaewluin與authurs21前輩的回答
關於此問題如果字串長度沒有完全一樣的話,該怎麼做呢??
: : 而第二個問題是如果上頭所述的一維字串陣列,該如何與數字陣列合併呢?
: : 也就是變成| A 1 2 3 |
: : | B 4 5 6 |
: : | C 7 8 9 |
: : 麻煩各位了, 謝謝 ^^
: 假設數字矩陣叫A
: [ str num2str( A , '%d' ) ]
: 這是沒空白的
: 有空白會比較麻煩一點,不過你也沒有把你需要的格式與input格式說清楚
不好意思,沒將問題說的很明白
| A |
此問題是當我們從檔案中讀取一行行的字串將其變成陣列| B |
| C |
而程式中則還有一個數字矩陣A為| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
希望寫入到檔案的格式可以變成:
A 1 2 3
B 4 5 6
C 7 8 9
希望有空白或使用\t將其隔開
不知道是否有將格式說明清楚,請各位前輩多多包涵
謝謝 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.189.32
→ glorin:第一個問題已解決,但第二個問題使用G大的方法,數據會連在 03/10 21:20
→ glorin:一起,使用cell的話不知道怎麼使用才能印出我所想要的結果?? 03/10 21:21
→ glorin:全都解決囉...結果自己在耍笨... 03/10 21:29
→ glorin:只要使用G大的方法改成[str num2str(A, '%d\t')]就ok了 03/10 21:33
→ glorin:感謝前輩的指導 ^^ 03/10 21:38