C++ int与string的转换

最近常常用到int到string的转换,当年的逐位读取然后转换为字符好像土了点,但其实也应该快的

现在常用字符串流stringstream来进行转换。stringstream,由iostream派生而来,提供读写string的功能。有一个构造函数带有string形参,这个构造函数将string类型的实参复制给stringstream对象,对这个流的读写操作实际上读写的是这个对象的string对象。此外定义了str()成员函数或者名为str的成员,用来读取和设置stringstream对象所操纵的string值。

转换代码如下:

1 string intTostring(int num)
2 {
3 stringstream newstr;
4
5 newstr << num;
6 return newstr.str();
7 }

string转换为int:

1 int stringToint(string str)
2 {
3 int b = atoi(str);
4 return b;
5 }

另外,还找了一些别的类型之间相互转换的代码,整理如下:

string CString: CString.format(”%s”, string.c_str());

char *CString: CString.format(”%s”, char*);

char *string: string s(char *); 只能用于string的初始化处,非初始化的地方使用assign()。

string char *: char *p = string.c_str();

CString string: string s(CString.GetBuffer()); GetBuffer()之后,需要ReleaseBuffer(),释放缓冲区所占空间。

 

posted on 2012-03-02 20:06  拼装小火车  阅读(497)  评论(0)    收藏  举报