C++におけるint,string,const char*,CString間の相互変換
5722 ワード
1.intとstringの相互変換
stringstreamを使用するとstringstreamは異なるタイプを飲み込み、bのタイプに応じて異なるタイプを吐き出すことができます.
2.stringとconst char*の相互変換
(1)string回転const char*stringクラスのc_str()関数でstringオブジェクトをcの文字列のスタイルに変換し、「0」の文字列配列を返し、.data()は「0」の文字列配列がないことを返す
注意:c_str関数の戻り値はconst char*であり、char*(2)const char*に直接値を割り当てることはできません.
3.stringとchar*の相互変換
(1)string char*はstringの1つのメンバー関数copyで実現する
(2)char*回転string
4.intとchar*の相互変換
(1)int回転char*
itoaの使用
補足: ltoa():ロング整数値を文字列に変換します.
sprintfの使用
(2)char*回転int
atoi関数の使用
補足: atof():文字列を二重精度浮動小数点型値に変換します. atol():文字列をロング整数値に変換します.
5.StringとCStringの相互変換
const char*タイプは、CStringタイプに直接値を割り当てることができます.たとえば、次のようにします.
CString型変数はstring型変数に直接値を付与ことができるが、string型はCString型に直接値を付与ことができない.したがって、stringをCStringに変換するには、stringタイプ変数をconst char*タイプに変換してから、直接値を割り当てるといいです.
CStringをconst char*に変換する方法は以下の通りである:まずStringタイプに移行し、再利用する.c_str()をconst char*に変換
6.CStringとintの相互変換
stringstreamを使用するとstringstreamは異なるタイプを飲み込み、bのタイプに応じて異なるタイプを吐き出すことができます.
//#include
int a=80;
stringstream ss;
ss<string str = ss.str();
cout<//80
int b;
ss >> b;
cout << b << endl; // 30
2.stringとconst char*の相互変換
(1)string回転const char*stringクラスのc_str()関数でstringオブジェクトをcの文字列のスタイルに変換し、「0」の文字列配列を返し、.data()は「0」の文字列配列がないことを返す
string s1 = "abcdeg";
const char *k = s1.c_str();
cout<
注意:c_str関数の戻り値はconst char*であり、char*(2)const char*に直接値を割り当てることはできません.
const char* s1 ="abc";
string s(s1);
3.stringとchar*の相互変換
(1)string char*はstringの1つのメンバー関数copyで実現する
string s1 = "abcdefg";
char *data;
int len = s1.length();
data = (char *)malloc((len+1)*sizeof(char));
s1.copy(data,len,0);
printf("%s",data);
cout<<data;
(2)char*回転string
char* c ="abc";
string s(c);
4.intとchar*の相互変換
(1)int回転char*
itoaの使用
//char *itoa( int value, char *string,int radix);
// value: 。
// string: 。
// radix: , 10 、16 。
// string
int aa = 80;
char c[8];
_itoa(aa, c, 10);
cout << c << endl; // 80
補足:
sprintfの使用
int n = 100;
char t[10];
sprintf(t, "%d", n);
cout<
(2)char*回転int
int a; // 。
char c = '7'; // 。
a = c - '0';
atoi関数の使用
//#include
char str[]="1234";
int a=atoi(str);
補足:
5.StringとCStringの相互変換
const char*タイプは、CStringタイプに直接値を割り当てることができます.たとえば、次のようにします.
const char* c="hello"
CString cstr=c;
CString型変数はstring型変数に直接値を付与ことができるが、string型はCString型に直接値を付与ことができない.したがって、stringをCStringに変換するには、stringタイプ変数をconst char*タイプに変換してから、直接値を割り当てるといいです.
CString cstr;
string str="abcdefg";
cstr = str.c_str();
CStringをconst char*に変換する方法は以下の通りである:まずStringタイプに移行し、再利用する.c_str()をconst char*に変換
CString cstr="abcdefg"
string str = cstr;
const char* c = srt.c_str();
6.CStringとintの相互変換
int a,b=4,c=5;
CSting cstr1=_T("abc"),cstr2;
a=_ttoi(cstr1);
cstr2.Format(_T("%d"),c);