sscanf
sscanf函数声明定义于头文件 <stdio.h>中,该函数与scanf()类似,但它是从字符串中读取格式化数据。
int sscanf ( const char * s, const char * format, ...);
从s中读取数据,并根据参数格式将数据存储到附加参数指定的位置,就像使用scanf一样,但是从s中读取数据而不是标准输入(stdin)。
参数:
s : 指向要读取的空终止字符串的指针 。
format: 指向指定读取输入方式的空终止字符串的指针。
#include <stdio.h>
int main(int argc, char const *argv[])
{
char str[] = "13.14";
int i;
float f;
sscanf(str,"%d",&i);
printf("i = %d\n", i);
sscanf(str,"%f",&f);
printf("f = %f\n",f );
return 0;
}
输出结果
sprintf
sprintf()函数和printf类似,但它是将数据写入字符串中,而不是显示在显示器上。因此该函数可以把多个元素合成一个字符串.。
int sprintf ( char * str, const char * format, ... );
使用与printf上使用的格式相同的文本组合一个字符串,但是内容不是被打印出来的,而是以C字符串的形式存储在str指向的缓冲区中。
参数:
str:指向存储结果c字符串的缓冲区的指针。
format:包含格式字符串的C字符串,该格式字符串遵循与printf格式相同的规范;
#include <stdio.h>
int main(int argc, char const *argv[])
{
int H,M,S;
int t;
char Time[128];
printf("Please enter the second: ");
scanf("%d",&t);
H = t /3600;
M = (t%3600)/60;
S = (t%3600)%60;
sprintf(Time,"%2d:%2d:%2d",H,M,S);
printf("Time : %s\n",Time );
return 0;
}
输出结果
扫二维码关注微信公众号,获取技术干货