sscanf
//网上摘抄的测试代码
//https://www.cnblogs.com/kex1n/archive/2011/06/09/2076501.html
main()
{
int i;
unsigned int j;
char input[ ]=”10 0x1b aaaaaaaa bbbbbbbb”;
char s[5];
sscanf(input,”%d %x %5[a-z] %*s %f”,&i,&j,s,s);
printf(“%d %d %s ”,i,j,s);
}
//自己编写的测试代码
int main()
{
char a[]="12345 100 444444444444444 3";
char c[]="";
int b;
int d;
printf("%d\n",sscanf(a,"%i",&b));
printf("%d\n",sscanf(c,"%i",&d));
printf("%d\n",sscanf(c,"%i",&d)==EOF);
printf("%d",b);
return 0;
}
//输出结果
1
-1
1
12345
说明当待格式化字符串为空会返回-1,-1等于EOF