自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (4)
  • 收藏
  • 关注

原创 Cpp小问题集锦

1. 关于assert的用法,当assert函数后面的参数值为0 的时候,会报错,并终止程序。用到assert函数的话必须包含头文件assert.h。当然assert的功能可以被屏蔽,加一句:#define NDEBUG   即可屏蔽assert2. 关于# 在宏定义中的用法,如果在输出的时候直接调用宏名就会直接输出宏名,而如果用引号括起来在宏名前面加上# 像这样:‘#X’  的话就会用实际参

2015-01-20 17:54:57 673

转载 C++虚继承

http://blog.csdn.net/wangxingbao4227/article/details/6772579C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了

2014-12-25 16:30:44 480

转载 重载,覆盖,隐藏和多态

成员函数被重载的特征(1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同(类型或者个数不同); (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是(1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 “隐藏”是指派生类的函数屏蔽了与其同

2014-08-12 09:47:04 542

原创 duilib中设置不激活窗口后移动无法立即跟随的bug

private: enum MOUSESTATE{NOEVENT, LNCDOWN, LCLIENTDOWN, LSIZEDOWN}; MOUSESTATE m_bMouseState; //记录鼠标状态 POINT m_ptMouseDown; //记录鼠标按下时的位置 POINT m_ptPrev; //记录鼠标前一次的位置

2014-08-01 10:58:53 899

原创 截屏源代码

RECT rect; ::GetWindowRect(m_hWnd,&rect); int nleft; int nTop; int nWidth; int nHeight; nleft = rect.left + 10; nTop = rect.top + 93; nWidth = 600; nHeight = 260; CScreen *screen=new C

2014-07-29 10:23:44 754

原创 退出线程

DWORD dwExitCode = 0; GetExitCodeThread(m_Handle, &dwExitCode); TerminateThread(m_Handle, dwExitCode); m_Handle = NULL;

2014-07-25 10:40:54 443

转载 C++ 多线程编程API

HANDLE CreateThread( __in SEC_ATTRS SecurityAttributes, __in ULONG StackSize, // initial stack size __in SEC_THREAD_STAR

2014-07-25 10:34:30 497

原创 加载资源PNG图片

.rc文件下添加资源的相关信息如下FINGER                PNG                       "Res\\Finger.png"加载的时候采用如下方式:

2014-07-18 17:57:51 1718

原创 双缓冲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 1986

转载 duilib进阶教程 改进窗口的拖动

如今大师应当都知道caption="0,0,0,32",是指导题目栏区了吧,若是想要全部窗口都能拖动呢? 那直接把高度改成和窗口一样不就得了~O(∩_∩)O~  嗯,如许是可以,比如窗口高度是600,那么我们指定caption="0,0,0,600",如许全部窗口就可以拖动了,然则若是窗口大小改变了呢?假如调剂窗口的大小到800,这个时辰最下面的200个像素的高度就不克不及拖动啦,是以这里进行

2014-06-30 13:52:17 1167

转载 用特定字符串替换string中的所有特定字串

C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现,代码

2014-06-24 14:43:58 861

转载 文本模式读写文件中\r和\n的问题

原文地址:http://blog.sina.com.cn/s/blog_65db99840100kidc.htmlDOS文件(windows格式文件)中,按一下ENTER就是输入了\r\n,这就是回车换行MAC文件里,用\r换行UNIX文件里,用\n换行自己尝试了一些\r \n的组合,归纳了下规律:windows下用文本方式写文件时缓冲区里的\n或者\r都会被自动替

2014-06-24 10:52:29 7217

原创 关于map vector 多层嵌套,最后内存的释放方式

if (m_pMapVectorSymbol != NULL) { for (TMapVectorSymbol::TMapIterator iter = m_pMapVectorSymbol->m_pMapParameter->begin(); iter != m_pMapVectorSymbol->m_pMapParameter->end(); ++iter) { TVector

2014-06-21 15:16:17 4108

原创 关于CPP内存泄露要记录的步骤

首先在程序入口的文件开头添加

2014-06-21 15:12:26 816

原创 用tinyxml 库创建并读写xml代码截取

TiXmlDocument *pXmlDocument = new TiXmlDocument(m_strFilePath.c_str());// TiXmlDeclaration *pDeclaretion = new TiXmlDeclaration("1.0", "UTF-8","");//创建xml声明 pXmlDocument->LinkEndChild(

2014-06-21 15:02:51 512

转载 tinyxml创建xml并读写

原文地址:http://gdizcm.blog.163.com/blog/static/952036612012759953915/  最近接触到tinyxml,觉得用它来读取和创建xml还是挺方便的。为了防止自己以后忘记怎么使用,便把它们记录下来。 创建的xml文件名为testxml.xml,内容如下:    地球    中国            高

2014-06-14 09:24:57 572

转载 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 1488

转载 windows API 剪贴板详解

剪切、复制、粘贴都是我们在操作电脑的时候经常会用到的功能。但是你知道当我们剪切或者复制的 时候,数据会保存到什么地方吗?当我们粘贴的时候,又是从什么地方将数据输出出来呢?这都源自于系统中给我们提供了一个暂存数据的存储区域,我们称之为剪 切板,当新的内容送到剪切板后,新的内容将会覆盖掉旧的内容,即剪切板只能保存一份内容。因为剪切板是在内存当中,所以,电脑关闭或者是重启以后,存在剪 切板中的内容将

2014-05-27 10:32:42 6111

转载 体验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 613

转载 DuiLib的源码分析

1 stdAfx.h* lengthof(x) 计算数组长度宏* MAX  两值最大* MIN  两值最小* CLAMP(x,a,b) x在a,b之间则取x否则取最小2 UIBase* UI_WNDSTYLE_ 窗口风格属性* UI_CLASSSTYLE_ 窗口类属性* DUITRACE(LPCTSTR pstrFormat, ...)  功能 - 调试信息

2014-03-25 10:32:55 1284

转载 遍历注册表某键下的所有子键及其KeyValue

[cpp] view plaincopy"http://msdn.microsoft.com/zh-cn/site/ms724256">http://msdn.microsoft.com/zh-cn/site/ms724256  [cpp] view plaincopy// QueryKey - Enumerate

2014-03-21 12:56:54 2703

转载 怎样用代码来最小化或恢复程序

你能够用下面三种方法之一来实现它。 方法一:发送一条Windows消息到主窗口的Handle属性或 Application->Handle。这条消息就是 WM_SYSCOMMAND,将 wParam 设为 SC_MINIMIZE 或 SC_RESTORE。你可以调用SendMessage API函数来发送消息。 // 设置WPARAM为SC_MINIMIZE来最小化窗口 SendMes

2014-03-19 14:21:26 2712

转载 GetWindowRect和GetClientRect

原文:http://blog.chinaunix.net/u/25372/showart_304363.htmlGetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。    GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相

2014-03-18 10:52:46 471

转载 窗口过程函数-----WindowProc和DefWindowProc函数[转]

窗口过程函数-----WindowProc和DefWindowProc函数[转]在Windows操作系统里,当窗口显示之后,它就可以接收到系统源源不断地发过来的消息,然后窗口就需要处理这些消息,因此就需要一个函数来处理这些消息。在API里定义了一个函数为回调函数,当系统需要向窗口发送消息时,就会调用窗口给出的回调函数WindowProc,如果WindowProc函数不处理这个消息,就可以把

2014-03-18 10:09:31 988

转载 问题记录

1、注释应该放于代码的上方或右方,不可放于下方。2、代码较长,有多重嵌套时,应在段落结束处加注释。3、bool变量与零值比较:if(flag);整型变量与零值比较:if(i==0); Win32 API IsBadReadPtr IsBadWritePtr IsBadStringPtr IsBadCodePtr因为精度问题,浮点型变量不能直接使用==、!=与他值比较;指针变量使用NUL

2014-03-17 14:35:39 516

原创 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 662

原创 C++中内存地址对齐

为了加快编译器的取数速度,编译器默认对内存进行字节对齐。对结构体(包括类)进行字节对齐的原则是:(1)结构体变量的首地址能够被其最宽基本类型成员的大小所整除;(2)结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如果有需要编译器会在成员之间加上填充字节;(3)结构体的总大小为结构体最宽基本类型成员大小的整数倍,如果有需要编译器会在最末一个成员之后加上填充字节在

2014-02-27 14:42:54 797

转载 C++中类的存储方式

C/C++中类的存储方式一、简单对象的存储1、   基本类型对齐原则:Char            1Short          2Int              4Long            4Float            4Double        82、   结构体类型对齐原则:以最大成员类型的对齐方式为准,即当需要增长时,增长最大成员

2014-02-27 11:14:44 635

转载 const成员函数

类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参

2014-02-27 11:13:35 502

转载 Oracle安装图文

呵呵,花了一个多小时,左右把11g安装折腾好了。其中折腾SQL Developer 花了好长时间,总算搞定了。好了,先总结下安装步骤,希望给后面的童鞋提高安装效率。呵呵。一、Oracle 下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。 路径名称中,最好不要出现中文,也不要出现空格等不规则字符。官方下地址:http://www.oracl

2014-02-24 23:41:43 532

转载 C++中TRACE宏及assert()函数的使用

C++中TRACE宏及assert()函数的使用        C++中TRACE宏的使用TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。使用非常简单,格式如下:TRAC

2014-02-19 10:09:00 680

原创 杂记

今天在用C++连数据库的过程中遇到了一些问题,记录下来以供以后查看。1.如果连的不是本地数据库 那么对本地数据的打开与否不做要求。2.在ado连数据库里面,在记录指针用完之后一定要释放3.在MFC中,有专门的OK按钮和CANCEL按钮。如果不小心删除了, 可以通过修改按钮的ID号 为IDOK和IDCANCEL 找回来

2014-02-13 17:29:25 456

转载 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 962

转载 _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 867

转载 mfc vs2010 C++ 连接mysql等数据库

原文来自:http://blog.csdn.net/openn/article/details/8148509#1536434-tsina-1-71587-66a1f5d8f89e9ad52626f6f40fdeadaa       刚学mfc,我一直是做php,最近开始研究mfc。突然想用mfc用mysql数据,平时用mysql数据比较多。可以通过2种

2014-01-07 22:16:24 2627

原创 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 1650

转载 提示microsoft incremental linker已停止工作解决方法

本文来自http://www.cnblogs.com/gameking/archive/2012/02/11/2346814.html这个是因为你的设置有问题。解决方法如下:解决方案一:项目->属性->链接器->常规 下面的“启用增量链接”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了另

2014-01-07 21:39:19 609

原创 C++里面用cin输入字符串的结束方法

c++ 里面采用cin输入字符串在windows下可以采用ctrl+z按回车即可。

2014-01-03 14:14:14 3578

转载 移除PDF打印限制以及批量删除PDF书签的办法(转)

——引自http://pyn1013.blog.163.com/blog/static/94949667201152594644796/现在,PDF格式越来越多的成为很多公司标准文档或公文的发行方式,但是往往这些文件带有很多限制,比如不能打印, 不能添加注释,不能选取文字等,可以在Adobe Reader中的文件-属性-安全性中查看对该文件各种操作的权限,下面简单介绍一下如何移除这些限

2013-12-24 13:47:30 3494

转载 C++异常处理详细解说

本文来自cnblog 网址是这个:http://www.cnblogs.com/xd502djj/archive/2010/09/28/1837396.html因为怕以后找不到了,故而转帖到自己的空间方便以后查阅使用throw抛出异常本人节选自《21天学通C++》一书    抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来

2013-12-17 16:08:44 714

C++异常处理

非常好的C++异常处理的文档,讲解非常详细。这个是我从别处找来的不是我自己的。因为怕以后找不到了。故而直接分享到自己的CSDN上。我看了好些将异常处理的文档,但是都不及这个讲的好

2013-12-17

C++经典代码大全

C++经典代码,可以供初学者做练习使用.对于那些想要进一步深入的读者,可能帮助不是很大。

2013-12-04

java面试题属于机构招聘的

java面试题属于机构招聘的 很不错的资料 来自传智播客

2013-07-17

java面试宝典

java面试宝典 传智播客 很不错的资料

2013-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除