Re: [問題] unix 底下的end of line字元?

看板C_and_CPP作者 (賣考)時間15年前 (2010/05/02 00:15), 編輯推噓3(3012)
留言15則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《YCK (Y.C.K)》之銘言: 我想 ducksteven大的意思是表示整個輸入其實是: "www 123 4567\nbbb 321 123123\nkkk 321 12312312\nYYY 23541 123456" 這樣就有辦法切了。 hilorrk大提到的 EOF則是讀輸入讀到沒東西時系統會丟給你的。 問題是不知道你用什麼讀,如果你用 getchar()讀,那沒道理不知道 EOF表結束。 別的東西讀進來應該是像 ducksteven大想的那樣。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.33.159 ※ 編輯: stopcrying 來自: 123.240.33.159 (05/02 00:16) ※ 編輯: stopcrying 來自: 123.240.33.159 (05/02 00:18)

05/02 00:24, , 1F
我是用fgets從stdin將每行讀入 char *變數再用strtok對這個變
05/02 00:24, 1F

05/02 00:26, , 2F
數進行切割
05/02 00:26, 2F

05/02 00:28, , 3F
那讀進來應該是像上面寫的那樣,123456後面沒有東西
05/02 00:28, 3F

05/02 00:28, , 4F
那最後的123456這部分是依據什麼切出來的?既然他沒有\n的畫
05/02 00:28, 4F

05/02 00:29, , 5F
可以試著檢查看看 6後面是不是字串結尾
05/02 00:29, 5F

05/02 00:30, , 6F
fgets 在讀完檔案的時候應該會回傳NULL 藉此判斷呢?
05/02 00:30, 6F

05/02 00:30, , 7F
strtok給的 delimiters你給的是 " \n"對吧?
05/02 00:30, 7F

05/02 00:31, , 8F
到最後沒東西時 strtok也會傳 NULL給你。
05/02 00:31, 8F

05/02 00:32, , 9F
莫非你的 strtok最後就是很謎的少給你一串?
05/02 00:32, 9F

05/02 00:35, , 10F
那這樣問題應該不是 123456後面有什麼...
05/02 00:35, 10F

05/02 00:42, , 11F
唉,YCK大,我太急燥了,你等等,讓我好好的試一遍。
05/02 00:42, 11F

05/02 00:43, , 12F
該給的都有給到@@
05/02 00:43, 12F

05/02 00:45, , 13F
如果是回傳null那我就瞭解了
05/02 00:45, 13F

05/02 00:50, , 14F
站內寄信給你了,你看看:)
05/02 00:50, 14F

05/02 01:08, , 15F
謝謝各位, 大致上已經得到我想知道的部分.
05/02 01:08, 15F
文章代碼(AID): #1Bt5EA68 (C_and_CPP)
文章代碼(AID): #1Bt5EA68 (C_and_CPP)