高手详解:sscanf函数的高级用法
大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。1. 常见用法。}|@2j4e
a EpmM(F
以下是引用片段:[ia}Hp(K
char str[512] = {0};
sscanf("123456 ", "%s", str);
printf("str=%s\n", str); ad~e_(]^"H
Aa1^8q | e
i0L3GnO(T,}o5E
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。:J_8lx e1L)x#~R1}i
e%y)S+pb"K1B
以下是引用片段:L9^T.Lsm']
sscanf("123456 ", "%4s", str);
printf("str=%s\n", str); 0t vVZ-E4Y1Y#\\
4eUU|K{K S
&zm+f#_#v
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。u;@-?iX kY%SV
以下是引用片段:h:A4M2x8S Y-d0[~s
sscanf("123456 abcdedf", "%[^ ]", str);
printf("str=%s\n", str);
E8cJn!G/nd
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
以下是引用片段:
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", str); qp)N ^[dQ!Uq
printf("str=%s\n", str); .eZ:N&j/r
]%BHr:hY