sscanf可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。
sscanf | |
相关函数
| scanf,fscanf |
表头文件
| #include<stdio.h> |
定义函数
| int sscanf (const char *str,const char * format,........); |
函数说明
| sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。 |
返回值
| 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 |
1. 常见用法。
以下是引用片段: char str[512] = {0}; sscanf("123456 ", "%s", str); printf("str=%s/n", str); |
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
以下是引用片段: sscanf("123456 ", "%4s", str); printf("str=%s/n", str); |
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
以下是引用片段: sscanf("123456 abcdedf", "%[^ ]", str); printf("str=%s/n", str); |
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写 字母 的字符串。
以下是引用片段: sscanf("123456abcdedfBCDEF", "%[1-9a-z]", str); printf("str=%s/n", str); |
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
以下是引用片段: sscanf("123456abcdedfBCDEF", "%[^A-Z]", str); printf("str=%s/n", str); |