VC裡面的cstring跟int char 轉化

2021-06-07 01:00:49 字數 2702 閱讀 1147

1 cstring,int,string,char*之間的轉換

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 

將字元轉換為整數,可以使

用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)); 

2 cstring型別的轉換成int 

cstring型別的轉換成int

:      將字元轉換為整數,可以使用atoi、_atoi64或atol。 

//cstring aaa = "16" ; 

//int int_chage = atoi((lpcstr)aaa) ; 

而將數字轉換為cstring變數,可以使用cstring的format函式。如 

cstring s; 

int i = 64; 

s.format("%d", i) 

format函式的功能很強,值得你研究一下。 

如果是使用char陣列,也可以使用sprintf函式。 

//cstring ss="1212.12"; 

//int temp=atoi(ss); 

//cstring aa; 

"%d",temp); 

數字->字串除了用cstring::format,還有formatv、sprintf和不需要借助於afx的itoa 

3 char* 在裝int

#include

int atoi(const char *nptr); 

long atol(const char *nptr); 

long long atoll(const char *nptr); 

long long atoq(const char *nptr); 

4 cstring,int,string,char*之間的轉換

string aa("aaa"); 

char *c=aa.c_str(); 

cannot convert from 'const char *' to 'char *' 

const char *c=aa.c_str();

5 cstring,int,string,char*之間的轉換 

string.c_str()只能轉換成const char *, 

要轉成char *這樣寫: 

string mngname; 

char t[200]; memset(t,0,200); strcpy(t,mngname.c_str());

VC裡面的main 函式

通過main 函式的引數給程式增加一些處理資訊,可以使程式和使用者實現更多互動式的通訊.如果你的程式需要命令列引數編譯的話,那麼源程式的主函式main 就需要帶引數 也就是所謂的命令列引數。帶有引數的main 函式頭格式為 void main int argc,char argv 或void mai...

列舉裡面的介面的實現

列舉式乙個類,這個類,同樣也有類改由的功能,今天來說說列舉來實現介面。下面還是來看看 吧.首先我們定義乙個介面 介面裡面由兩個抽象方法.如下.public inte ce enuminte ce下滿我們來定義我們的列舉型別的類,分別由三個物件,分別有自己的構造方法.如下.public enum de...

C String類介面的實現

對c string庫部分介面的實現,通過介面間的復用,使個個介面緊密聯絡,更加簡潔。重要介面expand 通過檢測當前物件容量是否滿足要求,對物件進行擴容等操作。此次實現string全部使用的是深拷貝。include include include includeusing namespace st...