C ++、文字、文字列変換型int

C ++は、文字、文字列とint型の変換は、ここでは心の中で非常に良い質問、継続的に更新されます良い方法があり、合計です。

文字列と1.char

charが基本データ型で、文字列は、標準クラスは、いくつかの操作をカプセル化し、使用中に異なっています。

列に変換するとき1.1のchar *またはchar []、それは直接割り当てることができます。

    string x;
    string y;
    char *ptr1 = "sakura";
    char ptr2[]= "waseda";
    x = ptr1;
    y = ptr2;

* 1.2文字列またはchar []文字に変換すると、3つの方法があります。

1.2.1文字列は、c_str()関数を使用して構築されました。文字列が最終的に破壊をもたらすされているため、直接的な割り当て、クラスオブジェクトこと音符値がヌルポインタとなる左。追加のターミネータ\ 0

    string x = "waseda";
    char *ptr;
    strcpy(ptr,x.c_str());

1.2.2内蔵文字列データ()関数。追加のターミネータん\ 0

    string x = "waseda";
    char *ptr;
    strcpy(ptr,x.data());

1.2.3文字列建てコピー()関数。追加のターミネータん\ 0

    string str="waseda";
    char ptr[10];
    str.copy(ptr,5,0); 

2.charとint型

2.1 char型のデジタイザint型、直接保存 '0' のように。ATOIを使用して文字配列にstringstream。

    char u = '3';
    int num0 = u-'0';
    char x[] = "223";
    char *k = "233";
    int num1 = atoi(x);
    int num2 = atoi(k);
//stringstream
    int num0;
    char x[10] = "233" ;
    stringstream ss;
    ss<<x;
    ss>>num0;

2.2 int型のcharデジタルターンは、 '0' に直接適用されます。char配列はATOI、sprintfの、にstringstreamを使用することができます。

2.2.1 itoaは、Windowsプラットフォームのユニークな機能は、普遍的ではありません。3番目のパラメータは、使用する基数です。

    int num0 = 233;
    char x[10] ;
    itoa(num0,x,10);

2.2.2 sprintf関数

    int num0 = 233;
    char x[10] ;
    sprintf(x, "%d", num0);

2.2.2にstringstreamは、再利用が明確に覚えています。

    int num0 = 233;
    char x[10] ;    
    stringstream ss;
    ss<<num0;
    ss>>x;

3.stringとint型

3.1 int型のターン文字列、TO_STRINGにstringstream機能を構築し、流れてきたSTD。

3.1.1 to_stringに

    string str ;
    int num=233;
    str = to_string(num);

3.1.2にstringstream、またはフロー()関数を使用して、文字列strに出力してもよいです。

    int num = 233;
    string str ;
    stringstream ss;
    ss<<num;
    ss>>str;
    cout<<str<<endl;//第一种
    cout<<ss.str()<<endl;//第二种

3.2文字列のターンint型、char型、その後、最初のint型の方法にそこに変換されますが、STOIとにstringstreamを建てSTD

3.2.1 c_str()、ATOI()トランジット

    int num ;
    string str="233" ;
    stringstream ss;
    num = atoi(str.c_str());

3.2.2スタンド

    int num ;
    string str="233" ;
    stringstream ss;
    num = stoi(str);

3.2.3にstringstream

    int num0;
    string str = "233" ;
    stringstream ss;
    ss<<str;
    ss>>num0;
发布了5 篇原创文章 · 获赞 0 · 访问量 6059

おすすめ

転載: blog.csdn.net/srplus/article/details/104382501