scanf格式控制符
生活随笔
收集整理的這篇文章主要介紹了
scanf格式控制符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
格式控制
1.%d %o %x %c %s %f %e 無%u格式、%g格式
2.scanf("%3d%3d", &a, &b); 輸入:123456 //a=123,b=456
3.scanf("%2d%*3d%2d", &a, &b);輸入:1234567 //a=12,跳過345,b=67。
4.scanf("%7.2f",&a); //不合法的,不能輸入:12345.67使a的值為12345.67。 數據流分隔1.類型分隔scanf("%d%c%f", &a, &b, &c);輸入: 12r1234.567 //scanf接收數據時"r"不匹配,于是"12"轉[換成]整型賦值給a a=12,b='r',c=1234.5672.域寬分隔scanf("%2d%3f%4f", &a, &b, &c);輸入:123456789012345 //a=12,b=345,c=67893.隱示分隔。空格、跳格符('\t')、換行符('\n')默認數據分隔符。4.顯示分隔符。scanf("a=%d,b=%f,c=%f", &a, &b, &c);輸入數據應該為:a=1234,b=67.8,c=98.123 數據流中字符控制或者說是字符截止條件。是則讀,否不讀,但是剩余字符仍在流中,注意清理。const char* p = "12232114687ABC12356";sscanf(p, "%[123]", buf); // 把是'1'或'2'或'3'的字讀讀到buf中,buf="1223211",123無關順序,等同于%[1-3]或%[3-1],【-】兩端的 字符 為起始字符。%[3-14] //%[3214]%[A-Za-z] //只取字母%[^A-Za-z] //取字母之外的所有字符"%[a-zA-Z]%[0-9]", buf1, buf2 //"aB12" buf1="aB",buf2="12""%[^\n]" //取一行字符,但是流中還會存在一個換行,fflush(stdin) or "%[^\n]%*c";"%*[^\n]%*c" //就表示跳過一行"%-20[^\n]" //就表示讀取\n前20個字符。
?
轉載于:https://www.cnblogs.com/startnow/p/5040092.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的scanf格式控制符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 不同尺度的矩阵存储
- 下一篇: 上struts2的xml在lt;resu