Re: [問題] 讀檔時有跳行要怎麼辦呢?

看板MATLAB作者 (zxvc)時間18年前 (2006/07/04 20:12), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
※ 引述《Gwaewluin (神無月 孝臣)》之銘言: : : LIST ALL SELECTED ELEMENTS. (LIST NODES) : : ELEM MAT TYP REL ESY NODES : : 1 1 1 1 0 2 4 3 1 5 6 7 8 : : 2 1 1 1 0 5 10 9 6 8 12 11 7 : : 3 1 1 1 0 10 14 13 9 12 16 15 11 : : 這個是我的data的一部份 : : 我只打算讀取有數字的部份 : : 但是該檔第一行卻是跳行 : : 一直到第六行才開始有數字 : : 請問我該怎樣寫才能樣他從第六開始讀呢? : 找到解法了 : 用fgets( fid )來強迫換行 : 輸入四次就可以使用fscanf來讀檔 : : 推 dok:reshape(textread('1.txt','%u','headerlines',5),13,[])' 07/04 15:17 : 由於我的檔案是每二十行數字資料 : 就會接一行文字和一行跳行 : 所以沒辦法使用你的方法orz : 必須使用fgets( fid )配合while來讀 : 直到fgets( fid )跑出-1再跳出while : 另外再問一個問題 : fgets和fgetl差別在哪裡呢? : 說明檔是看了但是看不懂說orz fgetl: Read line from file, discarding newline character ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ fgets: Read line from file, keeping newline character ^^^^^^^^^^^^^^^^^^^^^^^^^ fgets與fgetl都是從檔案一次讀取一行,差別再於換行字元要不要被捨棄。 什麼叫讀取一行?也就是讀到換行字元就算一行。 換行也是一種字元(空白字元),只是你看不到它。 像你在記事本按下『Tab、Space、Enter』等,都會輸入看不見的空白字元, 這些字元的主要用途是用來排版文字用的。 雖然看不見它,但不代表它們不存在。 -- 《金剛經》 又念過去於五百世,作忍辱仙人,於爾所世,無我相、無人相、無眾生相、無壽者相。 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.218.133

07/04 20:34, , 1F
原來是這樣,難怪直接把讀的顯示在螢幕上時,fgets看起
07/04 20:34, 1F

07/04 20:35, , 2F
會比fgetl多很多行,原來是多了一個換行字元的關係
07/04 20:35, 2F
文章代碼(AID): #14gbjAxS (MATLAB)
文章代碼(AID): #14gbjAxS (MATLAB)