C语言 sprintf()函数 与 printf()函数

来源:互联网 发布:淘宝新店如何刷单 编辑:程序博客网 时间:2024/05/17 16:02
头文件:#include <stdio.h>

  • sprintf()函数用于将格式化的数据写入字符串,其原型为:

<span style="font-size:14px;">int sprintf(char *str, char * format [, argument, ...]);</span>

【参数】str为要写入的字符串;format为格式化字符串,与printf()函数相同;argument为变量。


sprintf()最常见的应用之一莫过于把整数打印到字符串中,如:
sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中
sprintf(s, "%8x", 4567); //小写16进制,宽度占8个位置,右对齐

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现 "该程序产生非法操作,即将被关闭...."的提示。


  • printf函数调用的一般形式为:

<span style="font-size:14px;">printf(“格式控制字符串”, 输出表列)</span>

其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。

格式字符意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串

#include <stdio.h>int main(void){   int a=15;   long float b=123.1234567;   double c=12345678.1234567;   char d='p';   printf("a=%d\n", a);   printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a);  // %% 可以输出 %   printf("a=%f\n", b);   printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b);   printf("c=%f\n", c);   printf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n",c,c,c);   printf("d=%c\n", d);   printf("d(%%c)=%c, d(%%8c)=%8c\n",d,d);   return 0;}



0 0