中易网

C语言sprintf怎么使用?

答案:3  悬赏:0  
解决时间 2021-01-17 11:31
C语言sprintf怎么使用?
最佳答案
sprintf函数的功能是把格式化的数据写入某个字符串缓冲区。
int sprintf( char *buffer, const char *format, [ argument] … );
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。


示例
int main()
{
    char buffer[50];//大小50的char字符数组
    int n,a=5,b=3;//
    n=sprintf(buffer,"%d + %d = %d",a,b,a+b);//把a,b,a+b以第二个参数的形式写入buffer
    printf("[%s]is a string %d chars long
",buffer,n);
    return 0;
}输出结果[5 + 3 = 8] is a string 13 chars long


sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出'%'本身时, 请使用'%%'处理。
1. 处理字符方向。负号时表示从后向前处理。
2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
3. 字符总宽度。为最小宽度。
4. 精确度。指在小数点后的浮点数位数。


转换字符
%% 印出百分比符号,不转换。
%c 整数转成对应的 ASCII 字元。
%d 整数转成十进位。
%f 倍精确度数字转成浮点数。
%o 整数转成八进位。
%s 整数转成字符串。
%x 整数转成小写十六进位。
%X 整数转成大写十六进位。
全部回答
函数功能:把格式化的数据写入某个字符串
函数原型:int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串长度(strlen)

例子:
char* i = "I";
char* j= "apple";
sprintf(s, "%s like %s.", i, j); //产生:"i like apple. " 这字符串写到s中

sprintf(s, "%d", 123); //产生"123" //把整数123 打印成一个字符串保存在s 中。

sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142",%f 倍精确度数字转成浮点数
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手指甲盖里有一个木刺怎么办,很小的木刺,但
2018年遵X航天高中考入清北的人
为什么韩剧里她们看起来好像素颜啊阿
QQ塔防三国志哪些武将有用啊
The more he tried to please her,__________
袁泉从07年到17年都有哪些演艺经历?
小齿轮带大齿轮在用大齿轮带小齿轮最终 力 会
A、B、C皆为n阶矩阵,可以由AB=AC推出B=C吗?
缙云到了西藏怎么走
临安市锦城街道综合农技服务中心地址在什么地
有人会利用微信头相去骗人吗
镜头腾空18-50多少钱一个
姬芮怎么查真假
我属马七八年生人我是什么星座
笔记本电脑怎样通过PHlLlPS8510手机上网,手
推荐资讯
胜思石器时代8.5 如果宠物拿去寄邮件了 又抓
想用一套进销存系统 有人给推荐了 管家婆 用
做幼教需要什么条件?
7.98÷4.2= 列算式怎么算
柳城县柳州东泉二中地址有谁知道?有点事想过
女儿奥术学得吃力家长该咋办?
中国国旗的颜色代表什么
新锅炒菜后变黑了
禾和尤和山组成的字念什么
昨天景色的四字成语
古文翻译“唯其言之时也”
SM里的S能有多个M吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?