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 則留言:

  1. 這招我不會耶~天啊,原來可以這樣子寫 !

    回覆刪除
  2. printf、scanf 函式超威的!

    回覆刪除