
在編程的過程中,要用到各種類型,那么難免就會存在類型轉(zhuǎn)換的問題,有時候不記得類型轉(zhuǎn)換怎么用真的很急人(我是菜雞)。
既然說到了類型轉(zhuǎn)換那就先說下類型吧!
前提:這里只是簡單的說明了幾種轉(zhuǎn)換的方法(日常常用的和跨平臺可以支持的),并不是所有的辦法。
1.c類型:
c類型基本可以分為:基本類型,枚舉類型,void類型和派生類型。
基本類型又可以分為整數(shù)類型和浮點類型。
整數(shù)類型又可以分為以下幾種:
浮點型又可以分為:
void類型又可以分為:
2.c++類型
基本的內(nèi)置類型
各種變量類型在內(nèi)存中存儲值時需要占用的內(nèi)存
c++里面還有一個很重要的string類型,但是這個就不是基本類型了,是STL庫里面的定義,但是是非常常用的,必須要介紹的。在c++里面用字符串我想大部分人都是直接用string這個小可愛的。char*都是用的比較少的。
3.類型轉(zhuǎn)換
int轉(zhuǎn)string
- stringstream
int aa = 30;
stringstream ss;
ss<string s1 = ss.str();
cout<
- 使用sprintf
int aa = 30;
char c[8];
int length = sprintf(c, "%05X", aa);
cout<<c<<endl; 0001e="" <="" p="" style="box-sizing: border-box;">
string轉(zhuǎn)int
- stringstream
string s = "17";
stringstream ss;
ss<int i;
ss>>i;
cout<
- strtol(string to long)
string s = "17";
char* end;
int i = staticcast<int style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;">(strtol(s.c</int>str(),&end,16));
cout<<i<<endl; 23<int style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;">(strtol(s.c_str(),&end,10));
cout<</int>
- char*轉(zhuǎn)int
char p[]="123456";
long a = atoi(p);
printf("%ld\n",a);
char 轉(zhuǎn)int
利用assic碼
char Ca = '7';
int Ia = 0;
Ia = (int)Ca - '0';
printf("%d\n",Ia);
- string轉(zhuǎn)char*
- c_str()
string Sa = "abc";
char * cha = Sa.c_str();
string轉(zhuǎn)char[]
利用循環(huán)
這個由于我們知道string的長度,可以根據(jù)length()函數(shù)得到,又可以根據(jù)下標直接訪問,所以用一個循環(huán)就可以賦值了。
string pp = "dagah";
char p[8];
int I;
for( i=0;i??p[i] = pp[i];
??p[i] = '\0';
printf("%s\n",p);
cout<<p; <="" p="" style="box-sizing: border-box;">
- strcpy
char buf[10];
string str("ABCDEFG");
strcpy(buf, str.c_str());