C语言sprintf怎么使用?
答案:3 悬赏:0
解决时间 2021-01-17 11:31
- 提问者网友:遮云壑
- 2021-01-17 02:56
C语言sprintf怎么使用?
最佳答案
- 二级知识专家网友:神鬼未生
- 2021-01-17 03:07
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] … );
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 整数转成大写十六进位。
全部回答
- 1楼网友:琴狂剑也妄
- 2021-01-17 04:54
函数功能:把格式化的数据写入某个字符串
函数原型: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 倍精确度数字转成浮点数
函数原型: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 倍精确度数字转成浮点数
- 2楼网友:杯酒困英雄
- 2021-01-17 04:26
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯