C++各种类型转换
2011/11/21 7:56:10 courage207 http://courage207.iteye.com
我要评论(0)
- 摘要:1.int与char*之间的转换:intatoi(constchar*str);示例char*ch="152";intnum=atoi(ch);输出:num=152;char*itoa(intVal,char*DstBuf,intRadix);示例intnumber=123456789;charstring[25];char*ch;ch=itoa(number,string,10);输出:ch=“123456”string=“123456”2.long与char*转换char*ltoa
- 标签:c++ 类型转换
1.
int与char*之间的转换:
int atoi(const char * str);
示例
char* ch = "152";
int num = atoi(ch);
输出:num = 152;
char* itoa(int Val, char * DstBuf, int Radix);
示例
int number = 123456789;
char string[25];
char* ch;
ch = itoa(number, string,10);
输出:ch =“123456” string=“123456”
2. long 与 char* 转换
char* ltoa(long _Val, char * _DstBuf, int _Radix);
long atol(const char* Str);
3. double与char*转换
double atof(const char* String);
此处没有对应的ftoa,故而使用sprintf实现。
char ch[50];
double dbl = 12345.123;
sprintf(ch,"%f",dbl);
输出:ch = “12345.1230000”
4. char*与wchar_t*之间的转换
size_t mbstowcs(wchar_t *wcstr,const char *mbstr,size_t count);
char*ch;
ch = "i am student";
wchar_t wch[50];
int size = mbstowcs(wch,ch,13);
输出:size = 12;wch = "i am student";
wchar_t* wch=L"i am student";
char ch[50];
int size = wcstombs(ch,wch,13);
输出:size = 12;ch = "i am student";
5.
const char* 转换成 char*。该转变在string和char*之间转变时常用,string.c_str()得到的为const char*
const_cast<char*>( const char*)
6.
中文字符问题,fstream打开文件时,在vs2008、vs2003之上文件路径存在中文字符时,文件无法打开。解决办法:
locale::global(locale(“”));//文件打开前
fstream.open(…);
locale::global(locale(“C”));//文件打开后,如果不使用该语句还原默认设置,后续的cout会出现乱码。
......
详情:http://www.369in.com/view-14215.html
知识改变命运,IT改变世界!