初学MFC错误总结

本文介绍了C++中使用CString进行字符串格式化的正确方法,包括如何处理Unicode格式字符串,利用AfxMessageBox显示变量,以及如何在不同源文件间传递编辑框变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、C++中format用法:

int a=1;

CString S;

S.format(“%d”,a);             //错误用法,vc6不区分UNICODE格式,所以可以编译

S.format(_T(“%d”),a);      //正确用法,原因vs2005以上版本支持UNICODE格式

 

ComName.Format(_T("\\\\.\\COM%d"),m_ComNo);

错误:我原来少了_T(“ ”)格式,直接在括号里面用” ”符号。

 

二、利用AfxMessageBox()显示整形变量

思路解析:AfxMessageBox(),括号里面是字符串格式,所以显示变化的字符串就行。

变化的字符串,可以用format(_T(”%d”),Val)格式,然后将Val变为变量就可以实现。比如Val可以获取编辑框的关联变量。

Cstring S;

S.format(_T(“This is a  %d ”),Val);

AfxMessageBox(S);

 

三、如何将SerialPort5Dlg.cpp源文件的编辑框变量传入SCOM.cpp源文件的类变量中??

3.1多个源文件共用一个全局变量程序(整形全局变量int a):

首先在global.h申明一个变量extern int a;

接着在global.cpp定义全局变量int a = 10;

然后在其余源文件加入头文件#include”global.h”,然后直接调用全局变量a。

 

3.2结构体全局变量申明和定义

a.1结构体全局变量的申明在头文件global.h中

a.2结构体全局变量的定义在源文件global.h中

比如在global.h申明:

typedef struct{

UINT Val;

}GLOBAL;

extern GLOBAL global;     //先在头文件申明extern,然后在源文件定义

                                          //简单说,直接在定义的前面加一个extern就行

 

则应该在global.cpp定义:

GLOBAL global;

最后,只要在其它源文件.cpp中,加入#include”global.h” ,就可以调用全局变量global。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三公子Tjq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值