美文网首页
C/C++类型转换

C/C++类型转换

作者: Jack_Cui | 来源:发表于2019-03-04 14:52 被阅读0次
    timg.jpeg

    在编程的过程中,要用到各种类型,那么难免就会存在类型转换的问题,有时候不记得类型转换怎么用真的很急人(我是菜鸡)。

    既然说到了类型转换那就先说下类型吧!

    前提:这里只是简单的说明了几种转换的方法(日常常用的和跨平台可以支持的),并不是所有的办法。


    1.c类型:

    c类型基本可以分为:基本类型,枚举类型,void类型和派生类型。

    基本类型又可以分为整数类型和浮点类型。

    image

    整数类型又可以分为以下几种:

    image

    浮点型又可以分为:

    image

    void类型又可以分为:

    image

    2.c++类型

    基本的内置类型

    image

    各种变量类型在内存中存储值时需要占用的内存

    image

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

    相关文章

      网友评论

          本文标题:C/C++类型转换

          本文链接:https://www.haomeiwen.com/subject/enkiuqtx.html