#include
<
iostream
>
#include
<
cstdlib
>
#include
<
cstdio
>
#include
<
sstream
>
#include
<
boost
/
lexical_cast.hpp
>
using
namespace
std;
int
main(
void
)
{
//
int num = 10;
char buf[20];
#ifdef WIN32
// 方法一,_itoa,仅适用于Win32
_itoa(num, buf, 10);
cout << buf << endl;
#endif
// 方法二,sprintf,对不同的源类型,需要写不同的格式化控制串
sprintf(buf, "%d", num);
cout << buf << endl;
// 方法三,ostringstring,对任何类型都一直的操作
ostringstream oss;
oss << num;
cout << oss.str() << endl;
// 方法四,boost::lexical_cast,可以进行任意类型间的转换
try
{
string str = boost::lexical_cast<string>(num);
cout << str << endl;
} catch (...) { }
return 0;
}
本文介绍了在C++中将整数转换为字符串的四种常见方法:使用_WIN32特异性函数_itoa,标准库函数sprintf,泛用的ostringstream,以及Boost库提供的lexical_cast。这些方法各有优缺点,适用于不同场景。

1240

被折叠的 条评论
为什么被折叠?



