1. c++中string到int的轉換
1) 在c標準庫裡面,使用atoi:
#include
#include
std::string text = "152";
int number = std::atoi( text.c_str() );
if (errno == erange) //可能是std::errno
else if (errno == ????)
//可能是einval
2) 在c++標準庫裡面,使用stringstream:(stringstream 可以用於各種資料型別之間的轉換)
#include
#include
std::string text = "152";
int number;
std::stringstream ss;
ss << text;//可以是其他資料型別
ss >> number; //string -> int
if (! ss.good())
ss << number;// int->string
string str = ss.str();
if (! ss.good())
3) 在boost庫裡面,使用lexical_cast:
#include
#include
trycatch( const boost::bad_lexical_cast & )
2.string 轉 cstring
cstring.format(」%s」, string.c_str());
用c_str()確實比data()要好;
3.char 轉 cstring
cstring.format(」%s」, char*);
4.char 轉 string
string s(char *);
只能初始化,在不是初始化的地方最好還是用assign().
5.string 轉 char *
char *p = string.c_str();
6.cstring 轉 string
string s(cstring.getbuffer());
getbuffer()後一定要releasebuffer(),否則就沒有釋放緩衝區所佔的空間.
7.字串的內容轉換為字元陣列和c—string
(1) data(),返回沒有」/0「的字串陣列
(2) c_str(),返回有」/0「的字串陣列
(3) copy()
8.cstring與int、char*、char[100]之間的轉換
(1) cstring互轉int
將字元轉換為整數,可以使用atoi、_atoi64或atol。而將數字轉換為cstring變數,可以使用cstring的format函式。如
cstring s;
int i = 64;
s.format(」%d」, i)
format函式的功能很強,值得你研究一下。
void cstrdlg::onbutton1()
(2) cstring互轉char*
///char * to cstring
cstring strtest;
char * charpoint;
charpoint=」give string a value」; //?
strtest=charpoint;
///cstring to char *
charpoint=strtest.getbuffer(strtest.getlength());
(3) 標準c裡沒有string,char *==char ==string, 可以用cstring.format(」%s」,char *)這個方法來將char *轉成cstring。
要把cstring轉成char *,用操作符(lpcstr)cstring就可以了。
cstring轉換 char[100]
char a[100];
cstring str(」aaaaaa」);
strncpy(a,(lpctstr)str,sizeof(a));
C 中int到string的轉換
2009 09 18 15 371.1 例如 cpp int ss char temp 64 string str ss 1000 sprintf temp,d ss string s temp 呼叫string的方法 cout include include include using names...
String與Int的轉換
1 如何將字串 string 轉換成整數 int?a.有兩個方法 1 int i integer.parseint string 或 i integer.parseint string int radix 2 int i integer.valueof my str intvalue 注 字串轉成 ...
int 與String 的型別轉換
1 如何將字串 string 轉換成整數 int?a.有兩個方法 1 int i integer.parseint string 或 i integer.parseint string int radix 2 int i integer.valueof my str intvalue 注 字串轉成 ...