手机
当前位置:查字典教程网 >编程开发 >C语言 >C++中sprintf使用的方法与printf的区别分析
C++中sprintf使用的方法与printf的区别分析
摘要:本文实例讲述了C++中sprintf使用的方法与printf的区别。分享给大家供大家参考。具体分析如下:首先我们在MSDN看一下printf...

本文实例讲述了C++中sprintf使用的方法与printf的区别。分享给大家供大家参考。具体分析如下:

首先我们在MSDN看一下printf的原型和sprintf的原型

复制代码 代码如下:int printf( const char *format [, argument]... );

复制代码 代码如下:int sprintf( char *buffer, const char *format [, argument] ... );

从定义来看两者的功能其实很相似的。

如果你接触的控制台的程序较多的话,见到printf的比较多,printf函数打印结果到屏幕上,而sprintf函数可以完成其他数据类型转换为字符串。

从以下几点来说明一下

(1)函数的中前两个参数是固定外,可选参数是任意个,buffer是存放字符串指针或者数组名字,fromat是格式化字符串,只要是printf使用的格式化字符串,在sprintf都可以使用,格式化字符串是该函数的精髓。

(2)首先可以把一个整型数据格式化为字符串。比如:

复制代码 代码如下:char str[20];

int i_arg = 12345;

sprintf(buf,"%-6d",i_arg);

(3)看一个浮点类型的例子。比如:

复制代码 代码如下:char str[20];

double d_arg = 3.1415926;

sprintf(str,"%6.2f",d_arg);

可以控制精度

(4)连接两个字符串,也可以将多个字符串连接起来,%m.n在字符串的输出中,m表示宽度,字符串共占的列数;n表示实际的字符数。%m.n在浮点数中,m也表示宽度,n表示小数的位数。比如:

复制代码 代码如下:char dest[256];

char src1[] = {'a','b','c','d','e'};

char src2[] ={'1','2','3','4'};

sprintf(dest,"%.5s%.4s",src1,src2);

也可以动态的截取字符串的某一些字符:

复制代码 代码如下:char dest[256];

char src1[] = {'a','b','c','d','e'};

char src2[] ={'1','2','3','4'};

sprintf(dest,"%.*s%.*s",2,src1,3,src2);

也可以窃取浮点类型的有效位复制代码 代码如下:sprintf(str,"%*.*",10,4,d_arg);

补充一点,sprintf的返回值就是字符串的字符的个数,也就是strlen(str)的结果,

也可以打印某个参数的地址

复制代码 代码如下:int i=2;

sprintf(str,"%0*x",sizeof(void *),&i);

或者用:

复制代码 代码如下:sprintf(str,"%p",&i);

此外这些都是都是多字节类型(ANSI)的函数,而对于unicode类型的应该使用的相似的函数:

复制代码 代码如下:int wprintf( const wchar_t *format [, argument]... );

int swprintf( wchar_t *buffer, const wchar_t *format [, argument] ... );

用法和上面的很相似的,就是类型不同而已,

对于printf和sprintf该函数的包含在<stdio.h>头文件

而sprintf和wprintf函数包含在<stdio.h>或者<wchar.h>头文件中。

希望本文所述对大家的C++程序设计有所帮助。

【C++中sprintf使用的方法与printf的区别分析】相关文章:

C与C++中结构体的区别

c++ dynamic_cast与static_cast使用方法示例

C++函数中return语句的使用方法

c++中#include &lt;&gt;与#include""的区别详细解析

对C语言中sizeof细节的三点分析介绍

浅析c与c++中struct的区别

c语言中return与exit的区别浅析

浅析int*p[ ]与int(*p)[ ]的区别

C++中Overload,Override,Hide之间的区别

char str[] 与 char *str的区别详细解析

精品推荐
分类导航