
C++ /MFC
文章平均质量分 55
Sarah-琦琦
阳光少女
展开
-
MFC画线小结
首先要有画布,在什么上画图,就要获得该对象的地址用一个指针来保存。比如我在静态文本框IDC_STATIC_PIC。此时我就需要定义一个CWnd指针 pWnd 来保存通过GetDlgItem(IDC_STATIC_PIC)函数获得的CWnd对象的地址获得地址之后,要获得该对象的画布。也就是需要定义一个CDC* pDC来保存pWnd->GetDC()后的地址这个时候可以在堆空原创 2013-07-07 15:29:55 · 828 阅读 · 0 评论 -
vc++中_RecordsetPtr使用
原文来自:http://blog.sina.com.cn/s/blog_5f7dc62e0100dox3.html因为担心以后找不到,故而转载_variant_t vUsername,vID,vname; //变量声明_RecordsetPtr m_pRecordset; //记录集CString strid;_ConnectionPtr转载 2014-01-14 15:15:07 · 1039 阅读 · 0 评论 -
mfc采用ado连mysql数据库
因为这个问题经常忘记,总是不记得流程,故把具体流程写在这里供以后参考。首先建立mfc应用程序,把你想要拿上去的空间贴上去之后在stdafx.h里添加这样一句话:#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")原创 2014-01-07 22:13:25 · 1702 阅读 · 0 评论 -
const成员函数
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参转载 2014-02-27 11:13:35 · 533 阅读 · 0 评论 -
C++中类的存储方式
C/C++中类的存储方式一、简单对象的存储1、 基本类型对齐原则:Char 1Short 2Int 4Long 4Float 4Double 82、 结构体类型对齐原则:以最大成员类型的对齐方式为准,即当需要增长时,增长最大成员转载 2014-02-27 11:14:44 · 680 阅读 · 0 评论 -
C++中内存地址对齐
为了加快编译器的取数速度,编译器默认对内存进行字节对齐。对结构体(包括类)进行字节对齐的原则是:(1)结构体变量的首地址能够被其最宽基本类型成员的大小所整除;(2)结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如果有需要编译器会在成员之间加上填充字节;(3)结构体的总大小为结构体最宽基本类型成员大小的整数倍,如果有需要编译器会在最末一个成员之后加上填充字节在原创 2014-02-27 14:42:54 · 832 阅读 · 0 评论 -
C++中TRACE宏及assert()函数的使用
C++中TRACE宏及assert()函数的使用 C++中TRACE宏的使用TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。使用非常简单,格式如下:TRAC转载 2014-02-19 10:09:00 · 721 阅读 · 0 评论 -
杂记
今天在用C++连数据库的过程中遇到了一些问题,记录下来以供以后查看。1.如果连的不是本地数据库 那么对本地数据的打开与否不做要求。2.在ado连数据库里面,在记录指针用完之后一定要释放3.在MFC中,有专门的OK按钮和CANCEL按钮。如果不小心删除了, 可以通过修改按钮的ID号 为IDOK和IDCANCEL 找回来原创 2014-02-13 17:29:25 · 492 阅读 · 0 评论 -
问题记录
1、注释应该放于代码的上方或右方,不可放于下方。2、代码较长,有多重嵌套时,应在段落结束处加注释。3、bool变量与零值比较:if(flag);整型变量与零值比较:if(i==0); Win32 API IsBadReadPtr IsBadWritePtr IsBadStringPtr IsBadCodePtr因为精度问题,浮点型变量不能直接使用==、!=与他值比较;指针变量使用NUL转载 2014-03-17 14:35:39 · 572 阅读 · 0 评论 -
窗口过程函数-----WindowProc和DefWindowProc函数[转]
窗口过程函数-----WindowProc和DefWindowProc函数[转]在Windows操作系统里,当窗口显示之后,它就可以接收到系统源源不断地发过来的消息,然后窗口就需要处理这些消息,因此就需要一个函数来处理这些消息。在API里定义了一个函数为回调函数,当系统需要向窗口发送消息时,就会调用窗口给出的回调函数WindowProc,如果WindowProc函数不处理这个消息,就可以把转载 2014-03-18 10:09:31 · 1096 阅读 · 0 评论 -
体验TinyXML读写XML文件数据
前一阵子做一个客服回复玩家问题工具,要用到读写XML文件的数据,同事推荐用TinyXML,于是,开始了我与TinyXML的亲密之旅。先简单说说配置:首先下载TinyXML库的文件,然后在 TinyXML 的目录里面找到tinystr.h, tinyxml.h,tinystr.cpp,tinyxml.cpp, tinyxmlerror.cpp,tinyxmlparser.cpp六个文件加入到自己转载 2014-04-28 11:52:40 · 673 阅读 · 0 评论 -
双缓冲gdi+旋转图像固定角度
HDC hdc= m_PaintManager.GetPaintDC(); HDC hMemDC = ::CreateCompatibleDC(hdc); HBITMAP hMemBitmap = ::CreateCompatibleBitmap(hdc, 347, 217); ::SelectObject(hMemDC, hMemBitmap); RECT myRect; myRect原创 2014-07-18 17:54:22 · 2049 阅读 · 0 评论 -
The builds tools for Visual Studio 2010 (Platform Toolset = ‘v100′) cannot be found.
error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = ‘v100′) cannot be found. To build using the v100 build tools, either click the Project menu or right-click the solution, an转载 2014-06-10 19:36:25 · 1579 阅读 · 0 评论 -
C++ 多线程编程API
HANDLE CreateThread( __in SEC_ATTRS SecurityAttributes, __in ULONG StackSize, // initial stack size __in SEC_THREAD_STAR转载 2014-07-25 10:34:30 · 541 阅读 · 0 评论 -
auto_ptr指针和explicit的使用
auto_ptr智能指针不许用户显示调用delete,可以直接自动被指向NULL,只能指针给另一个智能指针赋值的时候,该被赋值的智能指针就指向赋值的只能指针指向的地方,而原来的智能指针则指向NULL。auto_ptr 的使用:auto_ptr a ;定义了一个int 的智能指针int *p;auto_ptr a(p); 定义了一个int 的智能指针,指向P所指向的地址原创 2014-03-03 17:17:27 · 698 阅读 · 0 评论 -
_bstr_t和_variant_t
原文来自:http://blog.sina.com.cn/s/blog_5f7dc62e0100dowp.html担心以后找不到 故而转载_bstr_t和_variant_t _variant_t和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型,VARIANT和BSTR这两种类型是COM中使用的数据类型。为了C++中的变量应用到ADO编程中,转载 2014-01-14 15:10:10 · 933 阅读 · 0 评论 -
mfc vs2010 C++ 连接mysql等数据库
原文来自:http://blog.youkuaiyun.com/openn/article/details/8148509#1536434-tsina-1-71587-66a1f5d8f89e9ad52626f6f40fdeadaa 刚学mfc,我一直是做php,最近开始研究mfc。突然想用mfc用mysql数据,平时用mysql数据比较多。可以通过2种转载 2014-01-07 22:16:24 · 2670 阅读 · 0 评论 -
C++里面用cin输入字符串的结束方法
c++ 里面采用cin输入字符串在windows下可以采用ctrl+z按回车即可。原创 2014-01-03 14:14:14 · 3687 阅读 · 0 评论 -
MFC网络编程总结
说点题外话:这个知识点学过很久了,突然又拿出来的时候,就不那么熟练了。遂再写了一遍,眼下把总结写上来,方便以后自己查看在windows下进行客户端与服务器之间的通讯。(一对一的采用TCP协议实现)先说服务器端:我创建了另外两个类CClient和CListening均继承于Csocket。其中CClient套接字是用来专门处理客户端发过来的请求。而CClient则是用于监听客户的原创 2013-07-06 14:11:10 · 847 阅读 · 0 评论 -
关于 加载第三方库的时候出现link2005 链接错误的解决办法
这个情况之一是加载的库和当前vs 的库不兼容可以在c/C++里面的代码生成里面把运行时库把mdd修改为mtd就可以。其他情况以后补充原创 2013-08-29 17:53:17 · 745 阅读 · 0 评论 -
关于从编辑框获取IP地址的问题-CString转char * 的解决办法
CString strIP; CString strPort; GetDlgItem(IDC_EDIT_IP)->GetWindowText(strIP); GetDlgItem(IDC_EDIT_PORT)->GetWindowText(strPort); //初始化sock库 if ( 0 != WSAStartup( MAKEWORD( 2, 2),&m_wsaData )原创 2013-08-27 10:43:30 · 916 阅读 · 0 评论 -
关于指针的使用(1)
char ServerName[128]; ZeroMemory(ServerName,sizeof(ServerName)); _snprintf_s(ServerName,sizeof(ServerName)-1,"192.168.10.1:3000"); //char *ServerName = "192.168.10.1:3000";上面的代原创 2013-09-10 13:29:46 · 665 阅读 · 0 评论 -
windows下操作mysql
最近两天要玩数据库于是写下有些细节以备后面查阅 在windows下 安装mysql要是直接从命令行进入mysql要切换到mysql.exe所在路径下要不然直接把这个路径添加到环境变量里面就可以直接在命令行下输入mysql -h localhost -u root 直接进入mysql另外如果直接输入mysql无法成功建库 show databases;显示数据库creat原创 2013-10-18 15:13:52 · 706 阅读 · 0 评论 -
windows xp 下配置个人的svn服务器
在网上下载了网友推荐的svn服务器软件:VisualSVN Server 安装了之后要在服务器上新建代码库 方法就是在Repositories上右键新建即可在对应的目录下创建代码库 。这个是提交上来的代码存放的地方 在这里会发现一个URL链接 要记住。这个是用来提交代码的时候和下载代码时需要用的另外要新建用户 只要在users上右键就可以新建新建之后在自己的文件夹里面就可以impo原创 2013-10-21 17:59:16 · 862 阅读 · 0 评论 -
使用libcurl
今天要实现c++用post方法给php界面发送字符串的功能。在http://curl.haxx.se/download.html下载libcurl的可编译文件,在自己的机器上打开vs 文件夹下的vc6 文件夹转换工程。使用dllrelease编译成功在同目录下的lib\dll-release下可以找到libcurl.dll 、libcurl_imp.exp、libcurl_imp.lib三个原创 2013-10-30 13:11:47 · 664 阅读 · 0 评论 -
C++读写ini文件记录总结
// IniFile.cpp: implementation of the CIniReader class.//////////////////////////////////////////////////////////////////////////#include "stdafx.h"//#include "Readini.h"#include "INI.h"#includ原创 2013-11-15 11:25:08 · 1478 阅读 · 0 评论 -
关于winodows下编程c++遇到的引用文件路径问题
今天在写C++读写ini文件的时候发现怎么读都不对。而文件读写类是有效的。检查来检查去,最后发现就是文件的路径的用法不熟悉。特地在网上找了相关的知识。贴到这里供以后查阅。绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\原创 2013-11-15 11:39:35 · 1548 阅读 · 0 评论 -
vs2008发布项目,放到服务器上使用的全过程及其遇到的问题
昨天将项目配置到服务器上,遇到了些问题,特此写文章记录方便以后查阅。一般来说我们编写代码的时候都是在debug环境下,那个是调试版本。而对外使用则应该用发布版本,也就是说要在Release版本下重新编译。这个时候把环境修改成Release版本之后会报错,原因是在debug版本下如果引用了第三方库或者第三方依赖,则需要在Release下做同样的设置。对比Debug版本,做同样的配置即可。原创 2013-11-12 10:38:54 · 1555 阅读 · 0 评论 -
C++Primier笔记第一部分 基础
1.main函数的返回值是一个状态指示器。返回值0往往表示main 函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。2.程序文件称作源文件。3.当操作符是输出操作符时,结果是做操作数的值。当操作符是输入操作符时,其结果也是左操作数的值。也就是说输入输出流操作返回的值是输入输出流本身。4.endl是一个特殊值,称为操作符,将它写入输出流时,具有原创 2013-11-28 17:48:24 · 992 阅读 · 0 评论 -
C++面试前必须复习的知识点
1. 用变量a给出下面的定义a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointer to an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(Anarray of 10 integers) e) 一个有10个原创 2013-11-29 16:20:27 · 1205 阅读 · 2 评论 -
vs c++项目开发遇到的问题集锦
原文来自chinaunix:http://blog.chinaunix.net/uid-20672257-id-2955771.html因为担心以后找不到 故而转帖到自己的博客1、将过去的工程用VS2010打开的时候。你有可能会遇到一大堆的警告:warning C4996。 比如:warning C4996: 'sprintf': This function or转载 2013-12-03 13:28:26 · 1292 阅读 · 0 评论 -
C++异常处理详细解说
本文来自cnblog 网址是这个:http://www.cnblogs.com/xd502djj/archive/2010/09/28/1837396.html因为怕以后找不到了,故而转帖到自己的空间方便以后查阅使用throw抛出异常本人节选自《21天学通C++》一书 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来转载 2013-12-17 16:08:44 · 827 阅读 · 0 评论 -
Cpp小问题集锦
1. 关于assert的用法,当assert函数后面的参数值为0 的时候,会报错,并终止程序。用到assert函数的话必须包含头文件assert.h。当然assert的功能可以被屏蔽,加一句:#define NDEBUG 即可屏蔽assert2. 关于# 在宏定义中的用法,如果在输出的时候直接调用宏名就会直接输出宏名,而如果用引号括起来在宏名前面加上# 像这样:‘#X’ 的话就会用实际参原创 2015-01-20 17:54:57 · 736 阅读 · 0 评论