将MFC的CString 类型转化为C++标准数据类型std::string

MFC C++标准库简介 1、系统和网络编程库:ACE      除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C ++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然 阅读详情
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));
	WideCharToMultiByte(CP_UTF8, 0, static_cast<cstring>(theCStr).GetBuffer(), theCStrLen, buffer, sizeof(char)*(theCStrLen+1), NULL, NULL);
	// Construct a std::string with the char array, free the memory used by the char array, and
	// return the std::string object.
	std::string STDStr(buffer);
	free((void*)buffer);
	return STDStr;
}

 
MFC中数据转化 选择哪种方法取决于您的项目编码环境(Unicode/MBCS/ASCII)、C++标准支持版本以及对字符集转换的具体要求。需要注意的是,转换前请确保CString对象包含的是合法的整数值字符串,否则转换可能会失败或者得到错误的结果。对于Unicode项目,可以使用CA2W宏将std::string转换为宽字符std::wstring,然后再转换为CString。在MFC中,将int类型数据转换为CString类型数据可以使用CString类提供的Format方法,这是一个非常直接且方便的方法。 阅读详情

相关推荐

比CString更高效的字符串替换

字符串的替换操作中,发现CString::Replace运行缓慢,也无法预期它的完成时间,所以编写了一个类似CString的类,效果不错!

MFC异常与C++标准异常

MFC较好地将异常封装到CException类及其派生类中,自成体系,下表给出了MFC 提供的预定义异常:异常类                                                        含义 CMemoryException                                    内存不足 CFileException                                          文件异常 CArchiveException      

在0与1之间的博客 4731

C++中的数据类型转换方法标准c++MFC类型

C++中的数据类型转换方法标准c++MFC类型,归纳汇总。

C++、MFC项目升级到 C++20语言标准问题汇总

1、vs C++ + MFC项目统一升级 升级目标:使用C++20标准 使用最新windowsSDK 使用最新平台工具集(vs2019) 2、无法匹配对应的MFC库 解决方案:vs2019安装中勾选 支持 v142的MFC库 3、解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题 https://blog.youkuaiyun.com/LYJ_viviani/article/details/51487877 4、解决 “错误 D8016 “/Gm”和“/std:c++20”命令行选项不兼..

oqqBall的博客 2029

手把手教你用Docker快速部署开源MES系统(附避坑指南)

本文提供了一份详细的实战指南,手把手教你使用Docker容器化技术快速部署开源MES系统。内容涵盖从环境准备、项目选型、数据库配置到应用服务器优化、前端部署及生产环境监控的全流程,并附有避坑指南,旨在帮助中小制造企业IT人员和开发者低成本、高效率地构建智能制造解决方案。

f0g1h2的博客 1058

习题6-3 使用函数输出指定范围内的完数

其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[mn]内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。如果给定区间内没有完数,则输出一行“No perfect number”。

cutto的博客 862

C++———库函数cstring及string方法解读

1.string与cstring区别   <string>是C++标准库头文件。包含了拟容器class std::string的声明(不过class string事实上只是basic_string<char>的typedef),用于字符串操作。   <cstring>是C标准库头文件<string.h>的C++标准库版本,包含了C风格字...

anjie6976的博客 7196

智能车竞赛模糊PID代码与使用方法

本文给出了模糊PID的代码,以及模糊PID的程序使用方法、参数调整方法

piginthesouth的博客 9123

MFC中字符串string类型和CString类型互转方法

在Microsoft Foundation Classes (MFC)中,CString是一个非常方便的类,用于处理C风格的字符串。有时,你可能需要在MFC的CString和C++标准库中的之间进行转换。

学无止尽,谨言慎行! 4010

从底层结构开始学习FPGA(8)----Block RAM(BRAM,块RAM)

BRAM作为FPGA底层的存储资源,作用很大,比如可以RAM/ROM/FIFO。

孤独的单刀 2万+

基于深度学习的道路裂缝检测系统完整教程

本文介绍了一种基于深度学习的道路裂缝检测系统完整解决方案。项目采用5466张高质量道路裂缝图像数据集,包含YOLO和Pascal VOC两种标注格式,覆盖多种道路场景。系统利用CNN和YOLO算法实现高效检测,相比传统人工巡检显著提升效率和准确性。文中详细阐述了数据集结构、环境配置和训练流程,包括数据预处理、智能分割策略和质量检查方法。该技术可及时发现道路裂缝隐患,降低维护成本,保障交通安全,为道路养护提供智能化解决方案。

FJN110的博客 297

c++中CString和String

今天发现在许多代码模块中运用均为CString而非的String类型。 进行查询后,对CString和String区别进行以下归纳总结: 1、使用的头文件及定义。 1)string所运用的头文件string是c++标准库头文件,包含了拟容器class std::string的声明,属于STL范畴,有许多内置函数。 2)CString运用头文件为cstring,是C标准库头文件。string.h的C++标准库版本, 包含了C风格字符串(NUL即’\0’结尾字符串)相关的一些类型和函数的声明。 例如strcmp

jiangwudu的博客 7731

晶闸管选型参数,结构原理,工艺与注意问题总结

闸管(Thyristor)是一种半导体开关器件,也被称为可控硅整流器(SCR, Silicon Controlled Rectifier)。它可以在高电压和大电流条件下工作,常被用于交流电的控制和整流。本文对晶闸管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1281

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

=============================CString================================== 当有多个字串时,比如     int   n1   =   5;     int   n2   =   10;     char   sz1[]   =   "abcdefg";     char   sz2[]   =   "hijklmn";    

人在旅途/章鸽 的专栏 8781

CentOS7安装OpenSSL1.1.1s

CentOS7安装OpenSSL1.1.1s

Bertram的博客 732

提示词编写:从新手到专家的进阶之路

本文旨在为提示词编写者提供一条从新手到专家的进阶之路。我们将详细探讨提示词编写的背景与意义、基础与进阶技巧、实战应用以及最佳实践。通过逐步深入的分析与实操,读者将掌握提示词编写的核心要点,提高编写效率和作品质量。提示词是用于引导人工智能生成文本的关键词或短语,它包含了作者想要传达的主题、情感和细节。随着人工智能技术的普及,自动化写作工具逐渐应用于各行各业。为了提高写作效率,项目团队决定开发一款基于人工智能的自动化写作工具。成功开发了一款自动化写作工具,生成文本质量较高。

AI天才研究院 1085

C++头文件中cstring和string的区别

1.string与cstring有什么区别 是C++标准库头文件,包含了拟容器class std::string的声明(不过class string事实上只是basic_string的typedef),用于字符串操作。 是C标准库头文件<string.h>的C++标准库版本,包含了C风格字符串(NUL即’\0’结尾字符串)相关的一些类型和函数的声明,例如strcmp、strchr、strstr等。和<string.h>的最大区别在于,其中声明的名称都是位于std命名空间中的,而不是后

qq_43434682的博客 3959

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CString与string之常见类型转换

C++常见字符类型转换指南

X_StarrySky_God的博客 1783

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

一文搞懂C++和MFC中的字符串,CString和string如何转换

在C的时代,还没有字符串类型,我们通过字符数组,或者char* 来处理 “字符串”。 通过在字符串的最后加上一个‘\0’, 来表示字符串的结束。所以没有字符串类型之前,我们总是在处理完字符串之后加个‘\0’,或者数字0(因为‘\0’对应的ASCII码值是0,注意字符‘0’对应的ASCII码值是0x30) 到了C++有了类型string,到了MFC有了 CString, 但是本质还是char*。 所以我们在转换的时候,就是通过char*进行中转,按照这个思路,我们就能很好理解这个转换的过程。 .

songhuangong123的博客 3595

MFC C++ Cstring与string互转

MFC C++ Cstring与string互转偶然学习到的现做笔记于此 CString 转换成string vs2010 ------解决方案-------------------- unicode: CString sz1 = L"abc"; std::string sz2 = CT2A(sz1.GetBuffer()); //转化为非unicode. 非unicode: CString sz...

StandFromLittle的博客 1273

MFC Unicode 含中文 CString,LPCTSTR 转换成std::string

我用的VS2012,MFC Unicode 含中文 CString,LPCTSTR 转换成std::string。 // CString --> std::string,如下: CString cfilePath(_T("D:/图片/lena.jpg")); #ifdef UNICODE std::string filePath = CStringA(cfilePath); #else std:

leixinyue的专栏 3436

标准C(char*)、标准C++(string类)、MFC(CString类)中使用字符串

标准C(char*)、标准C++(string类)、MFC(CString类)中使用字符串 在标准C,标准C++,MFC中 字符串这一功能的实现是不相同的,C++完全兼容了C。 1、标准C中的字符串 在标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。例如: char name[26]=“This is a C-style str...

qq_42697866的博客 415

MFC/C++/C中字符类型CString, int, string, char*之间的转换

项目中经常用到各种不同的语言的朋友们应该会比较有这样的体会:一种开发语言用了比较长的时间,突然间转到另外一种语言的话,不管是数据类型或者语法结构,多多少少都会有那么一点不适应。哪怕MFC中的类型与标准C++也是一样的。下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的说明与举例,经常用的东西,相信对于用C/C++的朋友,还是比较有用的。

huguoqun的专栏 1503

CString 和string如何转化

KIMI:在 C++ 中,CString是 MFC(Microsoft Foundation Classes)库中的一个类,它封装了字符串操作,提供了对字符串的便捷访问和操作。而是 C++ 标准库中的一个类,用于处理字符串。

weixin_36672036的博客 1329
上一篇: 在Win32下让窗口居中
下一篇: MFC 中错误处理信息FormatMessage
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值