MFC-将CString转换成std::string

//将CString转换成const char *
int stringLength =
::WideCharToMultiByte(CP_UTF8, NULL, video_path, wcslen(video_path), NULL, 0, NULL, NULL);
char* buffer = new char[stringLength + 1];
::WideCharToMultiByte(CP_UTF8, NULL, video_path, wcslen(video_path), buffer, stringLength, NULL, NULL);
buffer[stringLength] = ‘\0‘;
std::string path = buffer;
delete []buffer;

时间: 2024-11-10 02:35:54

MFC-将CString转换成std::string的相关文章

CString转换成int CString类相应函数

CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程. 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择.如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi().你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制.八进制.十进

CString 转换成 char *

写程序时 要实现CString转换成 char *,晚上找了一些方法,可总是会有错误,不是我想要的. 比如下面这两种转换格式: 1. <span style="white-space:pre"> </span>CString strItem("1238djj"); char *chItem1; chItem1 = (LPSTR)(LPCTSTR)strItem1; 2. <span style="white-space:pre

List&lt;Object&gt;转换成Map&lt;String,Object&gt;形式

上一篇讲到了将List<Map<String,Object>> 转换为 List<javaBean>,这次反过来: /** * 用于把List<Object>转换成Map<String,Object>形式,便于存入缓存 * @author zhang_bo * @param keyName 主键属性 * @param list 集合 * @return 返回对象 */ private <T> Map<String, T>

CString转换成char*

CString strSource;//宣告CStringchar* charSource; //宣告char* 法1:charSource = (char*)strSource.GetBuffer(0); 法2:charSource = (char*)strSource.GetBuffer(strSource.GetLength()); 法3:charSource = (char*)(LPCTSTR)strSource;

MFC将句柄转换成指针

假设现有一个对话框窗口,要获取该窗口内的一个编辑框控件的指针. 方法: HWND hdlg = ::FindWindow(NULL,_T("DialogName"));//获取窗口句柄 if(hdlg == NULL) { MessageBox(_T("获取窗口句柄失败!")); return; } HWND hEdit = ::GetDlgItem(IDC_ENDIT1);//获取窗口控件编辑框的句柄 if(hEdit == NULL) { MessageBox(

MFC将图片转换成ico文件

#include "atlimage.h" HICON ToIcon(int cx,int cy) { CImage img; img.Load("cap.bmp");//可以是jpg,png,gif格式图片 int w = img.GetWidth(); int h = img.GetHeight(); CDC * dc = CDC::FromHandle(GetWindowDC(GetDesktopWindow())); CDC mdc; mdc.CreateC

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++中Cstring、wstring 和string互相转换总结

通过前一篇文章<C++中string,wstring,CString的基本概念和用法>,对Cstring.wstring 和string有了一个了解.string是C++提供的标准字符串操作类.wstring是操作宽字符串的类..CString是对string(字符串)和wstring(宽字符串)的一个封装,常用在mfc中,用来解决编码问题的.在编程过程中,经常会遇到Cstring.wstring 和string之间的相互转换,在这里做了个简单地总结,另外也会附上其他类型的转换.常见的转换方式

Java 把long 转换成 日期 再转换成String类型

1 /** 2 * 把long 转换成 日期 再转换成String类型 3 */ 4 public String transferLongToDate(String dateFormat, Long millSec) { 5 SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 6 Date date = new Date(millSec); 7 return sdf.format(date); 8 } 上面是方法   第一个参数:da