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(),释放缓冲区所占空间。
浙公网安备 33010602011771号