C++类型转换,c++四种类型转换每种的使用场景

  C++类型转换,c++四种类型转换每种的使用场景

  各种类型的转换,期待您的加入和共同提高-blood master-博客花园

  c各种类型的转换,期待您的加入,共同提高。

  1.int和char*之间的转换:

  inta toi(const char * str);

  例子

  char * ch= 152

  int num=atoi(ch);

  输出:num=152

  char* itoa(int Val,char * DstBuf,int Radix);

  例子

  int数=123456789;

  char string[25];

  char * ch

  ch=itoa(数字,字符串,10);

  输出:ch="123456" string="123456 "

  2.2.long和char之间的转换*

  char* ltoa(long _Val,char * _DstBuf,int _ Radix);

  long atol(const char * Str);

  3.double和char*转换

  双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=我是学生;

  wchar _ t wch[50];

  int size=mbstowcs(wch,ch,13);

  输出:size=12;wch=我是学生;

  wchar_t* wch=L 我是学生;

  char ch[50];

  int size=wcstombs(ch,wch,13);

  输出:size=12;ch=我是学生;

  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会乱码。

  7.字符集之间的转换:LPSTR LPWSTR

  Wstr至LPWSTR

  LPTSTR pp=L 我是一个学生;

  LPSTR p=new CHAR[100];

  WideCharToMultiByte(CP_ACP,0,pp,-1,p,100,NULL,NULL);

  Output: p=我是一个strud ent ;

  LPSTR至LPWSTR

  LPWSTR pp=新TCHAR[100];

  LPSTR p=我是一个strud ent ;

  MultiByteToWideChar(CP_ACP,0,p,-1,pp,100);

  Output: pp=我是一个strud ent ;

  注意:如果WideCharToMultiByte和MultiByteToWideChar中的第六个参数设置为零,则不进行转换,直接返回对应转换所需的存储区大小。因此,在实际使用中,往往是这样的:

  LPSTR p=我是一个strud ent ;

  int mm=MultiByteToWideChar(CP _ ACP,0,p,-1,NULL,0);

  LPWSTR pp=新TCHAR[mm];

  MultiByteToWideChar(CP_ACP,0,p,-1,pp,mm);

  删除[]PP;

  8.获取当前时间并将其转换为字符串:

  time_t时间;

  ltime=time(0);

  char tmp[64];

  ZeroMemory(tmp,0);

  strftime( tmp,sizeof(tmp), %Y/%m/%d %X ,localtime( ltime))

  output:tmp= 2011/11/18 10:14:07 ;

  9.9之间的转换。这里不解释CString和LPSTR和LPWSTR。CString的使用根据不同的项目设置自动调整为CStringW,CStringA分别对应LPWSTR和LPSTR,在相应的条件下可以直接调用。其实根本问题是LPSTR和LPWSTR之间的转换。网上有很多关于CString转换的帖子,可以直接参考。如果你发现网上那些CString转换方法和你不搭调,不要抱怨他们胡说八道,只是他们的项目设置和你的不一样。详见:7。

  10.补充:static _ cast()const _ cast()reinterpret _ cast dynamic _ cast()。这四个具体用法谷歌都可以用,很多时候它们的功能也很别致。

  c类型转换是一个严肃而令人抓狂的问题,解决这些细节往往需要时间。毕竟本文列举的案例有限,通用类型还未涉及。希望看了这篇文章的你能补充一下。希望这篇文章和这篇文章的评论能解决以后大部分类型转换的问题,作为参考书使用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: