首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何交换 MFC CString?

交换 MFC CString 是指在 C++ 中,将两个 CString 对象的值进行交换。以下是几种交换 CString 的方法:

方法1:使用 CString 的 Swap() 方法

代码语言:txt
复制
CString str1 = _T("Hello");
CString str2 = _T("World");
str1.Swap(str2);

方法2:使用 CString 的 GetBuffer() 和 ReleaseBuffer() 方法

代码语言:txt
复制
CString str1 = _T("Hello");
CString str2 = _T("World");

// 交换 str1 和 str2 的值
str1.GetBuffer(str2.GetLength());
str2.GetBuffer(str1.GetLength());
str1.ReleaseBuffer();
str2.ReleaseBuffer();

方法3:使用 CString 的 GetBuffer() 和 SetAt() 方法

代码语言:txt
复制
CString str1 = _T("Hello");
CString str2 = _T("World");

// 交换 str1 和 str2 的值
LPTSTR psz1 = str1.GetBuffer(str2.GetLength());
LPTSTR psz2 = str2.GetBuffer(str1.GetLength());

for (int i = 0; i < str2.GetLength(); i++) {
    str1.SetAt(i, psz2[i]);
}

for (int i = 0; i < str1.GetLength(); i++) {
    str2.SetAt(i, psz1[i]);
}

str1.ReleaseBuffer();
str2.ReleaseBuffer();

方法4:使用 CString 的 GetBuffer() 和 Reverse() 方法

代码语言:txt
复制
CString str1 = _T("Hello");
CString str2 = _T("World");

// 交换 str1 和 str2 的值
LPTSTR psz1 = str1.GetBuffer(str2.GetLength());
LPTSTR psz2 = str2.GetBuffer(str1.GetLength());

str1.Reverse();
str2.Reverse();

str1.ReleaseBuffer();
str2.ReleaseBuffer();

以上是几种交换 CString 的方法,可以根据实际情况选择合适的方法进行交换。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VC6.0基础知识使用小结

这段时间在使用MFC做媒体播放器项目,查询了不少资料,用到的技术主要有ADO、多线程、DirectShow、MFC相关控件包括ActiveX控件(Windows Media Player、Active...1、VC获取一个菜单的状态,并打钩 做记事本的时候,遇到这么个问题,就是:如何获取菜单项当前是否被选中(打勾),如果选中,点击菜单后取消选中,如果未选中,点击菜单后选中,具体实现代码如下: void...  SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOVE | SWP_NOZORDER);  } } 3、如何给指定的对话框添加菜单...一般我们使用的框架是VC提供的Wizard生成的MFC   App   Wizard(exe)框架,无论是多文档还是单文档,都存在指针获取和操作问题。...代码如下: void ScanFile(CString Dir)    {  CFileFind finder;  CString Add=L"\*";  CString DirSpec=Dir

1.2K20

VS下如何建立一个新的MFC程序 网络编程 课设 基于C++ MFC 连接数据库 小应用 小项目浅析展示

这里不知道会不会有人是真的新手 新新手 不知道怎么 如何建立一个MFC 工程 应该不会吧?...就是 打开VS 新建项目-MFC -MFC工程-点基于对话框 -和在静态库中使用 然后下一页将关于对话框取消了 不然会有两个对话框出来 然后点击完成 具体如下 步骤1:双击打开vs2013,进入起始页,...按Ctrl+Shift+N组合快捷键(此时也可以一步步新建->项目操作),可以新建工程,选择模块下的Visual C++-->MFC-->MFC应用程序,设定好项目文件名和路径,点击确定。...勾选“基于对话框”,在“MFC的使用”中,勾选“在静态库中使用MFC(U)”,再点击下一步。...上面这个就是一个简单的实现 从 MFC  到数据库的   查询学生信息的小界面。

3K30

网络编程 课设 基于C++ MFC 连接数据库 小应用 小项目浅析展示

这里不知道会不会有人是真的新手 新新手 不知道怎么 如何建立一个MFC 工程 应该不会吧?...就是 打开VS 新建项目-MFC -MFC工程-点基于对话框 -和在静态库中使用 然后点击完成 注意啦 命名 都用英文 源码在这https://pan.baidu.com/s/1chRMPK   工具:...注意啦 这是我MYSQL的安装目录  你们看自己的)     最后在加一个 项目-属性-连接器-常规  -附加依赖项 里 加 libmysql.lib   然后在把这个MYSQL的文件 拷贝到自己MFC...libmysql.lib")      同样还是要把文件拷贝到工程里面去     #pragma comment (lib, "mysqlclient.lib") 还有可能会因为没有加这个而报错 这个是MFC...上面这个就是一个简单的实现 从 MFC  到数据库的   查询学生信息的小界面。

1.4K60

CString 和 char* 类型转化

CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。...因为 MFC 的设计者们在设计 CString 数据类型时非常小心, CString 类型表达式求值后指向了字符串,所以这里看不到任何象 Format 或 sprintf 中的强制类型转换,你仍然可以得到正确的行为...3、CString 和临时对象   这是出现在 microsoft.public.vc.mfc 新闻组中的一个小问题,我简单的提一下,这个问题是有个程序员需要往注册表中写入一个字符串,他写道:   我试着用...然后 MFC 的调试内存分配器会重新为这块内存全部填上 0xDD,显示出来刚好就是“Ý”符号。在这个时候你向注册表中写数据,字符串的内容当然全被破坏了。   ...不论如何,在 Unicode 模式下,所有的字符都是2个字节大小,我们需要处理这个问题。微软的文档令人惊讶地对此保持缄默:REG_SZ 的值究竟是以字节计算还是以字符计算呢?

6K20

MFC Java 使用socket 中文乱码解决方法(一)「建议收藏」

MFC Java 使用socket 中文乱码解决方法(一) 1、在使用MFC做服务端,Java做客户端时 (1)客户端向服务端发送数据 Java发送代码: PrintWriter printWriter...printWriter.print(msg); printWriter.flush(); //printWriter.close(); MFC接收代码 char strRecive...sizeof(strRecive));//清空字符串数组,避免产生乱码 int num = Receive(strRecive, sizeof(strRecive));//接收客户端发送的数据 CString...tem = (CString)strRecive;//转换为CString (2)服务端向客户端发送数据 MFC发送代码 //将数据转换为utf-8形式 int strSize = WideCharToMultiByte...FALSE); str[strSize] = '\0'; //发送数据 if (SOCKET_ERROR == sendSocket->Send(str, strlen(str), 0)) { CString

72120

交换机】交换如何配置默认路由

一、组网要求      在交换机里配置默认路由 二、配置要点 二层交换机和三层交换机的配置不一样 三层交换机有路由功能,二层交换机没有路由功能 三、配置步骤: 注意:配置之前建议使用 Ruijie#show...GigabitEthernet(千兆)和TenGigabitEthernet(万兆),以下配置以千兆接口为例 1)配置默认路由 Ruijie>enable  Ruijie#configure terminal 三层交换机...config)#ip route 0.0.0.0 0.0.0.0  192.168.1.1 ----->   ip route 目的网段   掩码   下一跳IP地址(要把数据包发给下一个的地址) 二层交换机配置...192.168.1.1   2)保存配置   Ruijie(config)#end            Ruijie#write       ----->  确认配置正确,保存配置 四、验证命令 二层交换机配置验证...Ruijie#show ip redirects default-gateway: 192.168.1.1 三层交换机配置验证 Ruijie(config)#show ip route  查看路由表

2.8K10

头文件string的作用_cstring头文件的作用

string,包含std::string的定义,属于STL范畴 4)CStringMFC里的的字符串类 string.h是C语言中字符串操作函数的头文件 cstring是c++对C语言中的strcpy...string是c++语言中string类模板的申明 CStringMFC中定义的字符串类,MFC中很多类及函数都是以CString为参数的,另外CString类重载了(LPCSTR)运算符,所以如果你在...MFC下面使用CString类,就可以直接用CString类做为参数来调用需要一个C语言风格字符串的win api函数,编译器会自动调用(LPCSTR)成员函数完成从CString到一个C风格字符串的转换...如果你在MFC下使用C++语言中标准的 string类,那么在调用需要C语言风格的字符串为参数的win api时,你必须显示调用sting.c_str()成员函数,来完成同样的转换,也就是说在使用MFC...如何个大法?这么说 吧:在C++标准中,关于标准库的标准说明占了密密麻麻300 多页,这还不包含 标准C 库,后者只是”作为参看”(老实说,原文便是用的这个词)包 含在C++库中。

4.7K10

如何交换PDF页面?PDF文件的页面位置怎么交换

收到读者大大的回复,提到PDF文件交换页面,也不知道要干嘛用,但是既然读者大大提到了,肯定是在某个时刻需要这个操作,如何交换PDF页面?...PDF文件的页面位置怎么交换,小编这期决定出个教程,不喜勿喷,不要影响有这方面需求的小伙伴继续看。...2:为了使两文件中的页面互换位置,找到菜单栏的文档选项,点击文档栏目下的更多页面中的交换页面。...3:操作到这一步之后,页面上会弹出一个操作窗口,在窗口上点击填写将交换的页面,比如第一个页面跟第四个页面交换,就可以修改成1-4,点击确定完成交换。...4:我们需要注意的是在这个操作弹窗上如果无法点击确定按钮的话,并不是操作失误了,也不是工具不可以进行页面交换

2.2K20

Calculator

引言 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API...1、开发环境 本次MFC程序设计使用Visual Studio Community 2019进行开发,Community为免费版本,可直接到官网进行下载安装。...2、新建MFC项目 首先我们需要创建一个MFC项目,在VS2019主界面选择创建新项目->平台:Windows->MFC应用->下一步。...接下来,我们就可以对创建的MFC窗口进行编辑操作了。...3、计算器的代码实现 (1)CString类 在MFC代码中,数值类型与C++相同,但输入输出的字符类型为TCHAR,字符串类型为CString,可以利用宏定义_T("字符串常量")将C字符串转换为CString

1.1K30
领券