您的位置首页 >资讯 >

sprintf函数用法举例(sprintf函数用法详解)

大家好,天天来为大家解答以上问题。sprintf函数用法举例,sprintf函数用法详解很多人还不知道,现在让我们一起来看看吧!

1、 Sprintf函数原型:

2、 intsprintf(char*buffer,constchar*format,[argument,]);

3、 功能:将格式化的数据写入缓冲区。

4、 返回值:字符串长度(strlen)

5、 参数描述:

6、 前两个参数是固定的,buffer是字符数组名;是格式字符串;

7、 可选参数可以是任何数字。

8、 sprintf函数1的示例:

9、 #includesto.h

10、 intmain(void)

11、 {

12、 charstr[512];

13、 intlen=sprintf(str,' %sworld!',‘你好’);

14、 printf('%slen=%d ',str,len);

15、 系统(“暂停”);

16、 return0

17、 }

18、 这个例子演示了如何将指定的字符串赋值给字符数组str。虽然数据参数是“hello”,但格式字符串参数是“%sworld!”,所以输出结果是“helloworld!”,字符串长度为12。

19、 sprintf函数2的示例:

20、 #includesto.h

21、 intmain(void)

22、 {

23、 charstr[512];

24、 charstr 1[]=' Get ';

25、 charstr2[]='it!';

26、 intlen=sprintf(str,' %s%s ',str1,str 2);

27、 printf('%slen=%d ',str,len);

28、 系统(“暂停”);

29、 return0

30、 }

31、 这个例子演示了sprintf函数如何拼接字符串。这里的格式字符串参数是" %s%s ",即字符串" Get "和" it!"连接到“Getit!”给定一个一维数组str,输出结果是“Getit!”,字符串长度为7。

32、 sprintf函数3的示例:

33、 #includesto.h

34、 intmain(void)

35、 {

36、 charstr[512];

37、 doublef=14.309948

38、 intlen=sprintf(str,' %3.2f ',f);

39、 printf('%slen=%d ',str,len);

40、 系统(“暂停”);

41、 return0

42、 }

43、 这个例子演示了sprintf函数的控制精度是0.01,浮点数F以字符串的形式赋给数组str。因为格式化后的字符串是“%3.2f”,即保留了两位小数,所以输出结果为“14.30”,字符串长度为5。

44、 sprintf函数4的示例:

45、 #includesto.h

46、 intmain(void)

47、 {

48、 charstr[512];

49、 inti=1;

50、 intlen=sprintf(str,' 0X%p ',I);

51、 printf('%slen=%d ',str,len);

52、 系统(“暂停”);

53、 return0

54、 }

55、 这个例子演示了如何使用sprintf函数获取一个变量的内存地址并以十六进制输出。因为这个程序是32位程序,所以打印出来的内存地址只有32位。它以0XAAAAAAAA的形式显示,长度为10,如果是64位程序则为18。

56、 sprintf函数5的示例:

57、 #includesto.h

58、 intmain(void)

59、 {

60、 charstr[512];

61、 chars1[]={'A ',' B ',' C ' };

62、 chars2[]={'T ',' Y ',' x ' };

63、 intlen=sprintf(str,' %*。*s%。*s ',4,2,s1,1,S2);

64、 printf('%slen=%d ',str,len);

65、 系统(“暂停”);

66、 return0

67、 }

68、 这个例子相对复杂,演示了sprintf函数如何动态赋值。这里有一个补充:

69、 sprintf(str,' %*。*s ',x,y,string);

70、 **s对应x,y,string,意思是从string中取n个字符,然后在str前面加上x-y空格。

71、 如果xy,则不添加空格。

72、 如果不写x,就是“%”。*s”,那么x=y。

73、 所以这个例子的输出结果是长度为5的“ABT”。

本文到此结束,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!