一、描述
sscanf通常被用来解析并转换字符串,其格式定义灵活多变,可以实现很强大的字符串解析功能。
sscanf的原型
#include <stdio.h>
int sscanf(const char *str, const char *format, ...);
str:待解析的字符串;
format:字符串格式描述;
其后是一序列数目不定的指针参数,存储解析后的数据.
二、示例用法
1. sscanf的基本用法
整形数转换
int year, month, day;
int converted = sscanf("20191103", "%04d%02d%02d", &year, &month, &day);
printf("converted=%d, year=%d, month=%d, day=%d/n", converted, year, month, day);
输出结果:
converted=3, year=2019, month=11, day=03
"%04d%02d%02d"是用来解析字符串的格式,%表示格式转换的开始,d表示转换为一个整数,04作为d的修饰,表示这是一个长度为4位的整数,不足4位时以0补齐。
例子返回结果等于3,表示有3个数据成功转换,转换成功数目同时取决于被解析的字符串以及其转换格