用 scanf 讀取字串時的空白問題
不過 scanf 有些討厭的地方。一般常見的用法可能是:
scanf 就會將你輸入的資料依照你所設定的「%s」格式丟到變數 data 裡面去。
但是這時候問題就來了,如果你輸入的資料中間含有空白字元時,
例如「my ass」-噹噹,data 的內容就只剩下「my」了。
這當然不是我們所樂見的結果,scanf 的多事造成了我們的困擾...
不過沒關係,根據 google 偷偷告訴我,這症頭可以這樣解:
夠簡單吧!好,打完收工。
參考資料:
char data[10];
printf("Enter some text : ");
scanf("%s", data);
scanf 就會將你輸入的資料依照你所設定的「%s」格式丟到變數 data 裡面去。
但是這時候問題就來了,如果你輸入的資料中間含有空白字元時,
例如「my ass」-噹噹,data 的內容就只剩下「my」了。
這當然不是我們所樂見的結果,scanf 的多事造成了我們的困擾...
不過沒關係,根據 google 偷偷告訴我,這症頭可以這樣解:
scanf("%[^\n]", data);
夠簡單吧!好,打完收工。
參考資料:
c語言學習零碎整理(10):探討scanf函數 - wayne 我的陋室我做主 - CSDNBlog
這篇屁話被收在分類:
寫程式真高興0 則引用
本篇屁話的引用連結 : http://thecrap.org/mt-tb.cgi/382
引用 用 scanf 讀取字串時的空白問題 的文章如下 :

好久不見的scanf啊