[转载] 温故而知新之sscanf

头文件

#include <stdio.h>

 

函数定义

int sscanf( const char *str, const char *format, ... );

 

函数说明

将参数str字符串根据参数format字符串来转换并格式化数据,转换后的结果存于对应的参数内。

sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源,因此格式转换形式可参考scanf()。

 

返回值

成功则返回参数数目,失败则返回-1,错误原因存于errno中。

示例代码:

 

结果为:12DDWDFF

 

format参数

可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符号},

注:{a|b|c}表示a,b,c中选一,[d]表示d是一个可选项。

 

width:宽度,一般可以忽略,用法如:

 

结果为:hello

 

{h | l | I64 | L}: 参数的size, 通常h表示单字节,I表示2字节,L表示4字节(double例外), l64表示8字节。

 

type: 这就很多了,就是%s、%d之类。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章