Posted on 03-09-2009
Filed Under (技术) by waterlin

在 C++ 里,如果需要把 int 的数值直接转成字符串(例如对于整数123,我能得到字符串”123″),我们可以用很多种方法来实现:

1) 用 C++ 里的流控制,可以轻松地实现整数转成字符串的功能:

下面是宽字符版本的演示程序,稍微有点不同,则可以用下面的方法:

int current = 111;
std::wostringstream int2string;
int2string << current;

wstring temp_file = int2string.str().c_str();
wprintf(L”current filename is: %s\n”, temp_file.c_str());
wprintf(L”current filename is: %s\n”, int2string.str().c_str());

2) Boost 是 C++ 的准标准库,我们当然应该尝试学习使用 Boost 来完成这个转换,例子如下:

3) 用 C 标准库里的 sprintf 或是 swprintf 函数,注意,sprintf 需要头文件 <stdio.h>,而 swprintf 需要 <stdio.h> 或者 <wchar.h> 头文件,可以看看MSDN里的例子

4) 用 C 标准库的 itoa 函数也可以实现从字符串到数字的转换,itoa的例子代码:

同样,用 C 标准库的 atoi 函数可以实现从字符串到数字的转换,atoi的例子代码:

一般来讲,就上面这么四种常用的方法就够用了。

© 2009, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

Post a Comment
Name:
Email:
Website:
Comments: