#include //使用c++標準庫的string類時
using namespace std; //同上
#include
#include
#include
//要將string類和int型別直接轉換最好有這些包含,
//因為自己寫乙個轉換函式比較方便,函式定義參考如下
string getstring ( const int n )
string 轉 cstring
cstring.format(」%s」, string.c_str());
char 轉 cstring
cstring.format(」%s」, char*);
char 轉 string
string s(char *);
string 轉 char *
char *p = string.c_str();
cstring 轉 string
string s(cstring.getbuffer());
1,string -> cstring
cstring.format(」%s」, string.c_str());
用c_str()確實比data()要好.
2,char -> string
string s(char *);
只能初始化,在不是初始化的地方最好還是用assign().
3,cstring -> string
string s(cstring.getbuffer());
getbuffer()後一定要releasebuffer(),否則就沒有釋放緩衝區所佔的空間.
《c++標準函式庫》中說的
有三個函式可以將字串的內容轉換為字元陣列和c—string
1.data(),返回沒有」\0「的字串陣列
2,c_str(),返回有」\0「的字串陣列
3,copy()
—————————————————————
cstring與int、char*、char[100]之間的轉換- -
cstring與int、char*、char[100]之間的轉換- -
cstring互轉int
將字元轉換為整數,可以使用atoi、_atoi64或atol。
而將數字轉換為cstring變數,可以使用cstring的format函式。如
cstring s;
int i = 64;
s.format(」%d」, i)
format函式的功能很強,值得你研究一下。
void cstrdlg::onbutton1()
sart.format(」%s」,buf);
cstring互轉char*
///char * to cstring
cstring strtest;
char * charpoint;
charpoint=」give string a value」;
strtest=charpoint;
///cstring to char *
charpoint=strtest.getbuffer(strtest.getlength());
標準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型互相轉換
本以為這麼多年c 經驗,學個c 沒多難,現在發現錯了。c 真tm難。今天遇到int轉string絆了半天,方法很多,不知道為什麼搞那麼複雜,我只挑最簡單易懂的,管他效率不效率的。int轉string int n 0 std stringstream ss std string str ss ss s...
C 中int型與string型互相轉換
int轉string int n 0 std stringstream ss std string str ss str string轉int std string str 123 int n atoi str.c str include stdafx.h include include using...
C 中int型與string型及其他互相轉換
先說字串轉int,long double atof 將字串轉換成浮點型數 atoi 將字串轉換成整型數 atol 將字串轉換成長整型數 strtod 將字串轉換成浮點數 strtol 將字串轉換成長整型數 strtoul 將字串轉換成無符號長整型數 toascii 將整型數轉換成合法的ascii 碼...