Re: [問題] fscanf 如何避開 [XXX] 這樣類型的字

看板C_and_CPP (C/C++)作者 (中大王)時間16年前 (2009/02/20 16:52), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《onicalz ()》之銘言: : ︳뀠引述《smallworld (褲落魔法屎)》之銘言: : : 我得到的結果是空a 因為照scanf說明 %[^這邊的字被無視 當作讀取終止條件] : : 用%[][a-z0-9A-Z]讀入[]在去抓中間的吧 : while(fscanf(fp,"%[A-Za-z0-9]",stemp)!=EOF) : { : // 先只讀 A-Za-z0-9 : fscanf(fp,"%[^A-Za-z0-9]",stemp) ; : //再把不屬於的部分讀掉 : } : 這樣就可以只讀純文字了 : 也就是說 讀的到 [] 裡面的字 : 只是有缺點就是 : 要是有個字是 test.c 如果要把他視為一個字 : 那可能會跟 .(句點) 搞混 : 所以可能還要在加上一些判斷式吧 : 是嗎 ? 你的目的就是讀進[]裡面的東西嗎 char str[] = "[abc.txt]"; char tmp[20]; sscanf(str, "[%[^]]]", tmp); 這樣 tmp[] 就是 abc.txt 了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.83.81

02/28 03:30, , 1F
02/28 03:30, 1F
文章代碼(AID): #19dczY8_ (C_and_CPP)
文章代碼(AID): #19dczY8_ (C_and_CPP)