620 0

昨晚做嵌入式作业时,就因为在linux系统下,需要int类型转char数组,再通过socket发送到客户端,就因为一个类型转换,花了近一个小时,之前是找到函数,但是不能再linux下使用,后面找到了sprintf来转换。

也是因为找到说能用sprintf这个的博文(只有几行文字的博文),我才决定写这个文章,以后不管多少只要是想记录的自己用过的都写出来。

sprintf函数

功能
把格式化的数据写入某个字符串缓冲区。
头文件
stdio.h
原型
int sprintf( char buffer, const char format, [ argument] … );
参数列表
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]…:可选参数,可以是任何类型的数据。

eg:
int analogVal=202;
char suf[20];
sprintf(suf,"%d", analogVal);
//suf="202";
我的理解就是:analogVal用"%d"格式输出到suf中;
和平时C语言用的printf输出一样:printf("%d", analogVal); 以某种格式输到控制台
格式化字符串:
%% 印出百分比符号,不转换。
%c 整数转成对应的 ASCII 字元。
%d 整数转成十进位。
%f 倍精确度数字转成浮点数。
%o 整数转成八进位。
%s 整数转成字符串。
%x 整数转成小写十六进位。
%X 整数转成大写十六进位。

发表评论