sscanf() 函数的声明:
int sscanf(const char *str, const char *format, ...)
使用与scanf()类型,只不过输入源是字符串
样例 输入源,输入的类型,接收的变量
sscanf("19:20","%d:%d",&h,&m);
将字符串转变为数字
string a;
cin>>a;
int h,m;
sscanf(a.c_str(),"%d:%d",&h,&m);
判断是否为合法数字(前提是在double精度内)
string a;
cin>>a;
double b;
sscanf(a.c_str(),"%lf",&b);
char c[10];
sprintf(c,"%.10lf",b);
int f=1;
for(int i=0;i<a.length();i++)
{
if(a[i]!=c[i])
{
f=0;
}
}
if(f)
cout<<"合法数字"<<endl;
else
cout<<"不是数字"<<endl;