将一个只有数字的字符串转换成实数,可以用atof(buf);但是如果字符串里包含其他非数字字符,就需要用到sscanf().
例如从一个文件名字符串中提取时间:
#include <stdio.h>
#include <stdlib.h>
void main()
{
char buf[50]="VOL_20151001162015.h264";
double videoTime;
sscanf_s(buf,"VOL_%lf.h264",&videoTime);
printf("%.0lf\n",videoTime);
system("pause");
}
sscanf和scanf用法相似,只不过sscanf是固定字符串作为输入源,scanf是键盘为输入源。
这个函数的原型在stdio.h中。具体用法可参考:
http://blog.chinaunix.net/uid-26284412-id-3189214.html
http://www.91linux.com/html/article/program/cpp/20081130/14121.html
同样sprintf()是输出到字符串中,用法和print()相似。具体用法可参考:
http://www.cnblogs.com/Anker/p/3351168.html