2010/02/01

scanf 讀取包含空白的字串

一般來說 scanf 遇到空白、\t、\n 就會自動中斷:
scanf("%s",str);  // 輸入「hello world」
printf("%s",str);  // 輸出「hello」

剛剛發現 scanf 可以自定欲接收的字元,改一下就可以接收空白等字元:
scanf("%[^\n]",str);  // 接收除了 \n 以外的所有字元
printf("%s",str);  // 輸出完整的「hello world」


參考資料:C Gossip: printf() 與 scanf()
http://caterpillar.onlyfun.net/Gossip/CGossip/PrintfScanf.html

2 則留言:

除非必要,請不要在回覆時留下您的敏感資訊 (電話、email、地址等)