C语言sprintf怎么使用?

请写出函数原型,使用方法谢谢... 请写出函数原型,使用方法
谢谢
展开
 我来答
千锋教育
2015-12-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

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\n",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 整数转成大写十六进位。

此生我独醉
推荐于2017-09-13 · 超过32用户采纳过TA的回答
知道答主
回答量:181
采纳率:0%
帮助的人:86.7万
展开全部
函数功能:  把格式化的数据写入某个字符串
头文件:  stdio.h函数原型:  int sprintf( char *buffer, const char *format, [ argument] … );参数列表:  buffer:char型指针,指向欲写入的字符串地址。

  format:char型指针,指向的内存里面存放了格式字符串。

  [argument]...:可选参数,可以是任何类型的数据。

  返回值:字符串长度(strlen)
相关函数:  int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format, [argument] ... );

  int _sprintf_s_l(char *buffer,size_t sizeOfBuffer,const char *format,locale_t locale ,[argument] ... );

  int swprintf_s(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format ,[argument]...);

  int _swprintf_s_l(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format,locale_t locale ,[argument]…);

  template <size_t size>

  int sprintf_s(char (&buffer)[size],const char *format, [argument] ... ); //仅存在于C++

  template <size_t size>

  int swprintf_s(wchar_t (&buffer)[size],const wchar_t *format ,[argument]...); //仅存在于C++

编辑本段参数说明及应用举例  sprintf格式的规格如下所示。[]中的部分是可选的。

  %[指定参数][标识符][宽度][.精度]指示符

  若想输出`%'本身时, 请这样`%%'处理。

  1. 处理字符方向。负号时表示从后向前处理。

  2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。

  3. 字符总宽度。为最小宽度。

  4. 精确度。指在小数点后的浮点数位数。

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  %% 印出百分比符号,不转换。

  %c 整数转成对应的 ASCII 字元。

  %d 整数转成十进位。

  %f 倍精确度数字转成浮点数。

  %o 整数转成八进位。

  %s 整数转成字符串。

  %x 整数转成小写十六进位。

  %X 整数转成大写十六进位。

参考资料: http://baike.baidu.com/view/1295144.htm

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wodewodelook
推荐于2018-02-27 · 超过18用户采纳过TA的回答
知道答主
回答量:103
采纳率:100%
帮助的人:40.1万
展开全部
函数功能:把格式化的数据写入某个字符串
函数原型: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 倍精确度数字转成浮点数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式