1. 1 CString,int,string,char*之间的转换
  2. string 转 CString
  3. CString.format("%s", string.c_str());
  4. char 转 CString
  5. CString.format("%s", char*);
  6. char 转 string
  7. string s(char *);
  8. string 转 char *
  9. char *p = string.c_str();
  10. //  CString转std::string
  11. CString str = dlg.GetPathName();
  12. setlocale(LC_ALL, "chs");
  13. char *p = new char[256];
  14. wcstombs( p, str, 256 );
  15. m_fileName = p;
  16. 1,string -> CString
  17. CString.format("%s", string.c_str());
  18. 用c_str()确实比data()要好.
  19. 2,char -> string
  20. string s(char *);
  21. 你的只能初始化,在不是初始化的地方最好还是用assign().
  22. 3,CString -> string
  23. string s(CString.GetBuffer());
  24. GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
  25. 《C++标准函数库》中说的
  26. 有三个函数可以将字符串的内容转换为字符数组和C—string
  27. 1.data(),返回没有”\0“的字符串数组
  28. 2,c_str(),返回有”\0“的字符串数组
  29. 3,copy()
  30. CString互转int
  31. 将字符转换为整数,可以使用atoi、_atoi64或atol。
  32. 而将数字转换为CString变量,可以使用CString的Format函数。如
  33. CString s;
  34. int i = 64;
  35. s.Format("%d", i)
  36. Format函数的功能很强,值得你研究一下。
  37. void CStrDlg::OnButton1()
  38. {
  39. // TODO: Add your control notification handler code here
  40. CString
  41. ss="1212.12";
  42. int temp=atoi(ss);
  43. CString aa;
  44. aa.Format("%d",temp);
  45. AfxMessageBox("var is " + aa);
  46. }
  47. sart.Format("%s",buf);
  48. CString互转char*
  49. ///char * TO cstring
  50. CString strtest;
  51. char * charpoint;
  52. charpoint="give string a value";
  53. strtest=charpoint;
  54. ///cstring TO char *
  55. charpoint=strtest.GetBuffer(strtest.GetLength());
  56. 标准C里没有string,char *==char []==string
  57. 可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。
  58. CString转换 char[100]
  59. char a[100];
  60. CString str("aaaaaa");
  61. strncpy(a,(LPCTSTR)str,sizeof(a));
  62. 2 CString类型的转换成int
  63. CString类型的转换成int
  64. 将字符转换为整数,可以使用atoi、_atoi64或atol。
  65. //CString aaa = "16" ;
  66. //int int_chage = atoi((lpcstr)aaa) ;
  67. 而将数字转换为CString变量,可以使用CString的Format函数。如
  68. CString s;
  69. int i = 64;
  70. s.Format("%d", i)
  71. Format函数的功能很强,值得你研究一下。
  72. 如果是使用char数组,也可以使用sprintf函数。
  73. //CString ss="1212.12";
  74. //int temp=atoi(ss);
  75. //CString aa;
  76. //aa.Format("%d",temp);
  77. 数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa
  78. 3 char* 在装int
  79. #include <stdlib.h>
  80. int atoi(const char *nptr);
  81. long atol(const char *nptr);
  82. long long atoll(const char *nptr);
  83. long long atoq(const char *nptr);
  84. 4 CString,int,string,char*之间的转换
  85. string aa("aaa");
  86. char *c=aa.c_str();
  87. cannot convert from 'const char *' to 'char *'
  88. const char *c=aa.c_str();
  89. 5 CString,int,string,char*之间的转换
  90. string.c_str()只能转换成const char *,
  91. 要转成char *这样写:
  92. string mngName;
  93. char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());

MFC/C++/C中字符类型CString, int, string, char*之间的转换的更多相关文章

  1. (转)CString,int,string,char*之间的转换

    CString,int,string,char*之间的转换http://www.cnblogs.com/greatverve/archive/2010/11/10/cstring-int-string ...

  2. VC CString,int,string,char*之间的转换

    CString转string : CString strMfc = "test"; std::string strStr; strStr = strMfc.GetBuffer(); ...

  3. 数据结构基础之memset---有memset 抛出的int 和 char 之间的转换和字节对齐

    今天晚上,在做滤波算法时,里面用到很多float 和int 以及char 之间的类型强制转换,后面滤波完发现图片有些区域块,有过度曝光的白光,我就跟踪,以为是char 字符数字数据溢出问题,加了0-2 ...

  4. mfc CString,string,char* 之间的转换

    知识点: CString转char*,string string转char*,CString char* 转CString,string 一.CString转char*,string //字串转换测试 ...

  5. CString,string,char*之间的转换(转)

    这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的:char*是从学习C语 ...

  6. 【转载】CString,string,char*之间的转换

    本文转自 <> 这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌 ...

  7. 【转】char*,string,CString,int,char[]之间的转换

    CString 头文件#include <cstring>.CString 转char * CString cstr;  ..data(),返回没有”/“的字符串数组..c_str(),返 ...

  8. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...

  9. 浅谈C#语言中的各种数据类型,与数据类型之间的转换

    什么是数据类型? 数据类型,百度百科是这样解释的:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.这样的解释对于一个初学者来说未必太过于深奥. 简单点说,数据类型就是不同长度的 ...

随机推荐

  1. python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法

    引用自“鱼c工作室”     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&ext ...

  2. 笔记-scrapy-cookie

    笔记-scrapy-cookie传递 1.      scrapy cookie传递 1.1.    开始 与cookie相关的设置参数有两个: COOKIES_ENABLED 决定是否使用cooki ...

  3. 利用HttpClient测试

    import java.io.IOException;import java.security.cert.CertificateException;import java.security.cert. ...

  4. 15 Django组件-中间件

    中间件 中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好 ...

  5. java 值传递 和 引用传递

    参考:(http://www.cnblogs.com/woshimrf/p/5263018.html) 参考:(http://www.cnblogs.com/binyue/p/3862276.html ...

  6. springboot遇见问题总结

    今天开始学习创建springboot项目 问题1: 产生异常: 创建项目目录: demo代码: 代码Controller import org.springframework.web.bind.ann ...

  7. 使用Autofac实现依赖注入注入

    依赖注入是什么意思? 依赖倒置 在软件设计原则中,有一种重要的思想叫做依赖倒置.它的核心思想是:不能让高层组件依赖底层组件,而且,不管高层组件和底层组件,两者都应依赖于抽象.那么,这个原则和我们上面的 ...

  8. 直接插入排序&希尔排序

    1.直接插入排序 时间复杂度O(n2) 工作原理: 通过构建有序序列,对于未排序数据,在已排序的序列中,从后向前扫描,找到相应的位置并插入. 插入排序在实现上,在从后向前扫描的过程中,需要反复把已排序 ...

  9. 底部菜单栏之Fragment的详细介绍和使用方法

    详情请看:http://blog.csdn.net/loongggdroid/article/details/9366413

  10. 剑指Offer - 九度1521 - 二叉树的镜像

    剑指Offer - 九度1521 - 二叉树的镜像2013-11-30 23:32 题目描述: 输入一个二叉树,输出其镜像. 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入 ...