C++学习笔记:int sprintf ( char * str, const char * format, ... );

string to number

在C++编程当中,我们经常会遇到需要将数字与字符串相互转换的情况。

C++的标准库函数里面只提供了大量的从string to number的方法

String conversion定义点这里
atofConvert string to double
atoiConvert string to integer
atolConvert string to long integer
atollConvert string to long long integer
strtodConvert string to double
strtofConvert string to float
strtolConvert string to long integer
strtoldConvert string to long double
strtollConvert string to long long integer
strtoulConvert string to unsigned long integer
strtoullConvert string to unsigned long long integer

他们的用法也非常简单,很容易掌握。

number to string

但是如果想要将number转换成string,就麻烦了,网上大量的方法都是使用itoa()函数,但问题是,itoa()并不在c++的标准库当中,虽然大多数的compiler都支持,但是偶尔也会有compiler不认的情况。。比如我就遇到了。。

那么c++标准库函数当中有没有方法能实现number到string的转换呢?

答案就是这个函数:

int sprintf ( char * str, const char * format, … );

他能够将自定义好格式的数据写入一个string,如何自定义格式呢?

我想只要是会用printf()函数的同学都应该知道。

举个例子:当我们想要输出一个数字时

#include <stdio.h>

int main()
{
   printf ("%d\n", 65);
   return 0;
}

上面的代码中,第一个参数就是自定义格式,而他事实上也是将整数65转化成了string并输出到屏幕上,可惜的是,该string并没有保存下来,我们也无法对其进行进一步的操作。

这个时候,我们就需要用到 sprintf() 函数了,他能够将printf()函数得到的 string 保存下来。通过这种方法,我们事实上就完成了 number to string 的操作。

#include <stdio.h>

int main ()
{
  char buffer [10];
  sprintf (buffer, "%d\n", 65);
  printf ("%s\n",buffer);
  return 0;
}

事实上,他能做到的事情远不止这么多。

如果你有兴趣,可以好好了解下,format参数的格式。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值