sscanf()和spritf()的用法有很多,这里只简单介绍类型之间的转换。
1.sscanf()函数
头文件 #include
定义函数 int sscanf (const char *str,const char * format,........);
语法: int sscanf( string str, string fmt, mixed var1, mixed var2 ... );
整数 sscanf( 字符串 str, 字符串 fmt, 混合 var1, 混合 var2 ... );
函数说明
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
1.将字符串化为十进制数
int main()
{
char a[10] = {"255"};
int b;
sscanf(a,"%d",&b);
printf("%d",b);
return 0;
}
输出结果为 255,int b 就是 255
2.将字符串化为十六进制数
int main()
{
char a[10] = {"ff"};
int b;
sscanf(a,"%x",&b);
printf("%d",b);
return 0;
}
输出结果为255 int b用十进制输出
%d 转化为十进制整数
%i 转化为十进制,八进制,十六进制整数
%o 转化为八进制整数
%x 转化为十六进制整数
%X 同上
%c 转化为一个字符
%s 转化为一个字符串
%f/%lf 转化为一个浮点数
1.sprintf用于格式化字符串
sprintf函数定义如下:
int sprintf (char * szBuffer, const char * szFormat, ...) ;
第一个参数是字符缓冲区;后面是一个格式字符串。Sprintf不是将格式化结果标准
输出,而是将其存入szBuffer。该函数返回该字符串的长度。在文字模式程序设计
中,
2.sprintf用于进制转换
可以方便地得到变量的十六进制和八进制字符序列,再稍加处理即可得到每一位的值。
char c[100];
int k=255;
sprintf(c,"%x",k);
//c包含"ff" c[0]='f' c[1]='f'
3.sprintf用于连接字符串
方便地连接两个或者多个字符串
char buf[1024];
char a[100]="I ";
char b[100]="love ";
char c[100]="ACM."
sprintf(buf,"%s%s%s",a,b,c);
//buf 包含"I love ACM."
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。