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. [USACO1.5] 回文质数

    P1217  Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 < ...

  2. POJ:3276-Face The Right Way(线性反转)

    Face The Right Way Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6259 Accepted: 2898 De ...

  3. C++ 二叉搜索树

    二叉搜索树利用其特有的二叉树性质,使其搜索更方便 源代码: struct node { int val; node *left, *right; }; //the function of insert ...

  4. 14 Django的用户认证组件

    用户认证 auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authentica ...

  5. android 事件传递机制

    有三个方法: dispatchTouchEvent onInterceptTouchEvent onTouchEvent 首先:A的dispatchTouchEvent-A的onInterceptTo ...

  6. Java基本数据类型总结二

    Java 基本数据类型总结二 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过 ...

  7. 《Cracking the Coding Interview》——第3章:栈和队列——题目4

    2014-03-18 05:28 题目:你肯定听过汉诺威塔的故事:三个柱子和N个从小到大的盘子.既然每次你只能移动放在顶上的盘子,这不就是栈操作吗?所以,请用三个栈来模拟N级汉诺威塔的玩法.放心,N不 ...

  8. Pascal编写的蠕虫病毒,凌盟提供,Chaobs转载

    { Happy Birthday (c) 1998 WoRmI don't take responsibility for any damage caused by this virus.It was ...

  9. 【Substring with Concatenation of All Words】cpp

    题目: You are given a string, s, and a list of words, words, that are all of the same length. Find all ...

  10. jenkins shell脚本构建项目--留

    1.echo `date` "doing  compling  . . . " if [ "$RELEASE" == "false" ]; ...