std::string 和 CString问题

std::string stdTemp;

CString strTemp;

strTemp = stdTemp;    ;//这一步直接赋值可不可以

因为CString可以接受const char*的赋值,而且std::string有个返回const char*的方法,c_str(),所以,应该这样写:
strTemp = stdTemp.c_str();
时间: 2024-12-25 18:15:59

std::string 和 CString问题的相关文章

CString 与 std::string 相互转化

MFC中CString 与 std::string 相互转化 CString实际是CStringT, 也就是模板类, 在UNICODE环境下,实际是CStringW, 在多字符集环境下,实际是CStringA std::string就是多字符集的. UNICODE环境下 CStringW-->std::string CString实际是CStringW,要转换成多字符集,需进行转码.使用WideCharToMultiByte 转换成多字符集,然后再构造std::string std::strin

C++: std::string 与 Unicode 如何结合?

关键字:std::string Unicode 转自:http://www.vckbase.com/document/viewdoc/?id=1293 一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单.基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE 的值: 1: // abridged from tchar.h 2:  3: #ifdef _UNICODE 4:  5: typedef wchar_t TCHAR; 6:  7: #defi

C++: std::string 与 Unicode 结合

一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单.基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE 的值: // abridged from tchar.h #ifdef _UNICODE typedef wchar_t TCHAR; #define __T(x) L ## x #else typedef char TCHAR; #define __T(x) x #endif 当你在工程设置中选择 Unicode 字符集时,编译器会用 _UN

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

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

CString、std::string格式化字符串

=============================CString================================== 当有多个字串时,比如     int   n1   =   5;     int   n2   =   10;     char   sz1[]   =   "abcdefg";     char   sz2[]   =   "hijklmn";         用std中的string如何写出最简单的代码得到MFC中CStr

实战c++中的string系列--std::string与MFC中CString的转换

搞过MFC的人都知道cstring,给我们提供了很多便利的方法. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习. 但是很多情况下,我们还是需要cstring和string的转换. 分两步: 1把cstring转为char数组 2根据char数组,构造自己的string(记得释放内存) std::string CStringT

转换MFC CString 到std::string

std::string CStringToSTDStr(const CString& theCStr) { // Convert the CString to a regular char array const int theCStrLen = theCStr.GetLength(); char *buffer = (char*)malloc(sizeof(char)*(theCStrLen+1)); memset((void*)buffer, 0, sizeof(buffer)); Wide

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

头文件 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++版本的头文