2020年1月25日 星期六

scanf相關問題 筆記

%s:“跳過0或多個 white space,由鍵盤緩衝區裡讀取連續不是 white space 的字元”(white space=空格、 '\t、 '\n' )
%c:只讀取緩衝區的一個字元
%d:跳過所有white space讀取數字

所以像在輸入數字時,多打空格仍然能被正確存進去。

scanf(" %c",&c);
%c前加空格,代表跳過緩衝區所有空格直到遇到字元。

scanf("%[^\n]", str);
代表直到碰到換行字元前的字元都存進去str,等同於gets(str),都是避免遇到空白讀不進去。

sscanf()用法:http://programmermagazine.github.io/201312/htm/article2.html

參考文章:
http://squall.cs.ntou.edu.tw/cprog/practices/scanfCommonTraps.pdf

沒有留言:

張貼留言