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改变世界!