A2T和T2A,===string和CString互转 方法一:--用宏的方式

USES_CONVERSION它是在堆栈上分配空间的,也就是说你在你在函数未结束就不会被释放掉。所有要注意不要在一个函数中用while循环执行它,不然栈空间就马上会分配完(栈空间一般只有2M,很小)。

(1)A2T的用法:
string 转为是 CString

USES_CONVERSION
string szItem = "string to CString";
CString strItem = A2T(szItem);

(2)T2A的用法:
CString 转为是string

USES_CONVERSION
CString strItem = _T("CString to string");
string szItem = T2A(strItem);

  不用宏的简单方法

方法二:

CString(szEnUrl.c_str()); //可以将string转为CString ,初始化方式

原文地址:https://www.cnblogs.com/XiHua/p/12068129.html

时间: 2024-11-07 12:51:50

A2T和T2A,===string和CString互转 方法一:--用宏的方式的相关文章

C++ 中 int,char*,string,CString之间相互转换-整理

#include <string> //使用C++标准库的string类时 using namespace std; //同上 #include <sstream> #include <iostream> #include <stdlib.h> //要将string类和int类型直接转换最好有这些包含, //因为自己写一个转换函数比较方便,函数定义参考如下 string getstring ( const int n ) { std::stringstrea

C++ 中int,char,string,CString类型转换

1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib> #include <string> std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小而不能完全存储 } else if (errno == ????)

std::string 和 CString问题

std::string stdTemp; CString strTemp; strTemp = stdTemp;    ;//这一步直接赋值可不可以 因为CString可以接受const char*的赋值,而且std::string有个返回const char*的方法,c_str(),所以,应该这样写: strTemp = stdTemp.c_str();

string与CString对比

string是标准C++库中的字符串类,CString是在Windows开发环境下常用的字符串类,CString目前已从MFC中分离出来可以单独使用,只需包含atlstr.h即可. 相比string,CString提供较多的方便使用的方法,如大小写转换.不区分大小比较字符串等方法.而string并没有直接提供这些方法,但可以通过结合STL提供的算法轻松实现这些操作.下面对CString和string的一些常用方法做一下对比: (1)大小写转换 CString tmp(_T("A CString:

char*、string、CString各种字符串之间转换

参考博客: http://blog.csdn.net/luoweifu/article/details/20242307 http://blog.csdn.net/luoweifu/article/details/20232379 <string> 与<string.h>.<cstring>的区别 <string.h> <string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <cstring>

头文件 string.h cstring string 区别

1.#include <cstring>   //不可以定义string s:可以用到strcpy等函数using   namespace   std; #include <string>   //可以定义string s:可以用到strcpy等函数using   namesapce   std; #include <string.h>   //不可以定义string s:可以用到strcpy等函数 2. 1)文件cstring,和string.h对应,c++版本的头文

Cstring与char*、String转Cstring(unicode编码)

unicode编码下,cstring与char*.String转Cstring的转换方法: 1 . CSstring转char * wchar_t *psw_wchar = psw.GetBuffer(); //获取psw的宽字符用数组保存 psw.ReleaseBuffer(); int nLen = psw.GetLength();//获取psw的字符数 char *encrypt = new char[nLen * 2 + 1]; memset(encrypt, 0, nLen * 2 +

string 头文件 有点烦&lt;string&gt; &lt;string.h&gt; &lt;cstring&gt;

深陷烂代码的泥潭之中.... 在C语言里面, 要用到memset之类的C库, 一般会: #include <string.h> C++兼容C代码, 意味这上面在C++里面也是可用的. 在C代码向C++迁移的时候, 还是建议用: #include <cstring> 因为要和STL的string头文件区分 #include <string> 最后就是这样子: #include <string> #include <cstring> 看起来是不是明了

Cpp读写文件、CString转String、String转CString

场景 C++读取文件 技术点 读取文件 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in 只读 ios::out 只写 ios::app 从文件末尾开始写,防止丢失文件中原来就有的内容 ios::binary 二进制模式 ios::nocreate 打开一个文件时,如果文件不存在,不创建文件 ios::noreplac