初学MFC错误总结

来源:互联网 发布:淘宝比价插件 编辑:程序博客网 时间:2024/05/22 16:02

一、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。

原创粉丝点击