![](https://img.haomeiwen.com/i12544275/accc8fb5e510f76d.jpeg)
在编程的过程中,要用到各种类型,那么难免就会存在类型转换的问题,有时候不记得类型转换怎么用真的很急人(我是菜鸡)。
既然说到了类型转换那就先说下类型吧!
前提:这里只是简单的说明了几种转换的方法(日常常用的和跨平台可以支持的),并不是所有的办法。
1.c类型:
c类型基本可以分为:基本类型,枚举类型,void类型和派生类型。
基本类型又可以分为整数类型和浮点类型。
整数类型又可以分为以下几种:
浮点型又可以分为:
void类型又可以分为:
2.c++类型
基本的内置类型
各种变量类型在内存中存储值时需要占用的内存
c++里面还有一个很重要的string类型,但是这个就不是基本类型了,是STL库里面的定义,但是是非常常用的,必须要介绍的。在c++里面用字符串我想大部分人都是直接用string这个小可爱的。char*都是用的比较少的。
3.类型转换
int转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转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*转int
char p[]="123456";
long a = atoi(p);
printf("%ld\n",a);
-
char 转int
-
利用assic码
char Ca = '7';
int Ia = 0;
Ia = (int)Ca - '0';
printf("%d\n",Ia);
- string转char*
- c_str()
string Sa = "abc";
char * cha = Sa.c_str();
-
string转char[]
-
利用循环
这个由于我们知道string的长度,可以根据length()函数得到,又可以根据下标直接访问,所以用一个循环就可以赋值了。
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());
网友评论