学习编程
文章平均质量分 55
wei801004
爱好篮球,喜欢上网, 陶醉在儿子的快乐成长之中。
展开
-
STL泛型算法--adjacent_find()
#include #include #include #include #include #include #include using namespace std;class TwiceOver{public: bool operator()(int val1, int val2) { return val1 == val2/2 ? true : false; }};int _tmai原创 2007-01-17 22:23:00 · 1504 阅读 · 0 评论 -
STL泛型算法--adjacent_difference()
template OutputIterator adjacent_difference(InputIterator first, InputIterator last,OutputIterator result );template class BinaryOperation >OutputIterator adjacent_difference(InputIterator first, Inpu原创 2007-01-14 08:47:00 · 1394 阅读 · 0 评论 -
STL泛型算法--accumulate()
templateType accumulatetemplateType accumulate(InputIterator first, InputIterator last, Type init, BinaryOperator op);#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[原创 2007-01-10 22:38:00 · 1228 阅读 · 0 评论 -
MD5加密算法
在网上看到一个MD5的封装类,在此收藏://////////////////////////////////////////////////////////////////////////////////////头文件/////////////////////////////////////////////////////////////////////////////////////////转载 2006-08-15 10:27:00 · 1071 阅读 · 0 评论 -
内存泄露检测方法
检测内存泄露的方法:C++中检测内存泄漏可以引入系统定义的宏来查看,内存在哪个位置泄漏文件开始处加入下列定义#define _CRTDBG_MAP_ALLOC#include #include 程序退出时加入以下函数:_CrtDumpMemoryLeaks();使用环境:VS2003如果在系统中出现了内存泄露,在输出窗口会出现这样的信息:Detected memory leaks!原创 2006-08-11 13:01:00 · 1764 阅读 · 1 评论 -
不知不觉中调用的默认拷贝构造函数
大家都知道在一个对象的赋值过程中就会调用默认的拷贝构造函数(如果你没有明确定义这部分代码的情况下),这时在你的类的设计过程中有一个指针成员变量,这时可能就可能潜在一定的危险在里边。在这里举个例子来说明以下:class test{public:test(void) { nIndex = new int; }~test(void) { delete nIndex; nIndex = N原创 2006-06-09 11:27:00 · 2880 阅读 · 4 评论 -
算法集合(C++)
1. //获得最大公约数int GetMaxNum(int nNumOne, int nNumTwo){ assert(nNumTwo > 0 && nNumOne > 0); if (nNumOne { swap(nNumOne, nNumTwo); } int nNum[2] = { nNumOne, nNumTwo }; int a = nNum[0] % nNum[1];原创 2006-05-23 14:48:00 · 1835 阅读 · 0 评论 -
C++: 静态调用
#include #include using namespace std;class Shape{public: Shape(void) {} ~Shape(void) {} virtual void draw(void) const { cout};class Rectangle : public Shape{public: Rectangle(void) {} ~Rectangle(原创 2006-05-22 09:57:00 · 1837 阅读 · 1 评论 -
简单的线程基类
typedef unsigned (WINAPI *PTHREADFUN)(LPVOID lpParameter);class CThread{public: CThread(void) {} ~CThread(void) {} void Start(void); void Stop(void) const { CloseHandle(m_hThread); } static D原创 2006-05-18 17:08:00 · 3745 阅读 · 5 评论 -
VC6.0编译器的缺陷
#include using namespace std;class test {public: test(void) { cout ~test(void) { cout};test oTest;int main(){}执行结果为:在VC6.0中为----Constructor在.NET中结果为----ConstructorDesconstructor原创 2006-05-09 10:42:00 · 2346 阅读 · 8 评论 -
线程间通讯
参考文章连接文章连接:http://www.codeproject.com/cpp/Win32_MQ_MultiThreading.asp下边的事例程序用到了线程,test继承自CThread,参考下面的链接:http://blog.csdn.net/wei801004/archive/2006/05/18/744341.aspx #define THRD_MESSAGE WM_原创 2006-03-29 19:01:00 · 1088 阅读 · 0 评论 -
系统服务编程(转贴)
//Author: Anish C.V.//EMail : cv_anish@hotmail.com #include "stdafx.h"#include "Windows.h"#include "Winsvc.h"#include "time.h"SERVICE_STATUS m_ServiceStatus;SERVICE_STATUS_HANDLE m_ServiceStatus原创 2006-03-14 11:55:00 · 1178 阅读 · 0 评论 -
快速排序算法
//快速排序int pation(int data[], int x, int y){ int n=data[x], i=x+1, j=y, temp; while(1) { while(data[i] while(data[j]>n && j > x) --j; if(i>=j) break; temp=data[原创 2006-01-17 11:15:00 · 1361 阅读 · 1 评论 -
让你的工程支持MFC
要想使你的工程支持MFC,请按照以下步骤作:1:在你的stdafx.h的头文件中加入:#include 这是一个囊括了MFC的集合定义的头文件,有了它,你的工程就识别Cstring类了。2:在你的工程设置中,在General页中,选择“MFC”为“Using MFC in a shared DLL”OK,现在再编译你的工程即可。 现在在你的工程中使用CString.原创 2005-12-09 16:08:00 · 1599 阅读 · 0 评论 -
STL泛型算法--binary_search()
#include #include #include #include #include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int ia[] = {29, 23, 20, 22, 17, 15, 26, 51, 19, 12, 35, 40}; sort(&ia[0], &ia原创 2007-01-17 22:40:00 · 1100 阅读 · 0 评论 -
JAVA中native方法调用
在java中native是关键字。它一般在本地声明,异地用C和C++来实现。它的声明有几点要注意:1)native与访问控制符前后的关系不受限制。2)必须在返回类型之前。3)它一般为非抽象类方法。4)native方法在异地实现,象抽象方法一样,所以没有方法体,以分号结束。如下列5转载 2011-08-05 10:39:20 · 9256 阅读 · 1 评论 -
C++ 链表
在开发中比较常用,但是STL的list又很复杂, 自己写了个简单的list,3个函数,够自己平时用了。#ifndef _WZY_LIST_H_#define _WZY_LIST_H_#include template class _Node{public: T _data; _Node *_link;};template class _Lis原创 2009-08-21 14:45:00 · 811 阅读 · 0 评论 -
DirctX 相关书籍
刚开始学游戏编程, 在网上搜索网友推荐的好书。慢慢研读。Introduction to 3D Game Programming with DirectX 9.0Advanced Animation with DirectX 好象有中文版Special effects game programming w翻译 2008-10-14 11:15:00 · 811 阅读 · 0 评论 -
关于多线程
程序员对于Windows程序中应该用_beginthread还是createThread来创建线程,一直有所争论。本文将从对CRT源代码出发探讨这个问题。I. 起因今天一个朋友问我程序中究竟应该使用_beginthread还是createThread,并且告诉我如果使用不当可能会有内存泄漏。其实我过去对这个问题也是一知半解,为了对朋友负责,专门翻阅了一下VC的运行库(CRT)源代码,终于找到了答原创 2008-08-05 15:36:00 · 766 阅读 · 0 评论 -
ATL
摘要 本文介绍了一种使用VC++ ATL(Active TemplateLibrary),利用IDTExtensibility2接口,为MicrosoftWord加入功能简单的COM插件(addin),加入工具栏按钮和菜单等可视部件,并为其加入响应事件的方法,并在最后简单说明了实现与Office宏混合编程的方法。 说到Office相关的编程,大家首先想到的可能是VBA(Visua原创 2008-08-05 15:34:00 · 833 阅读 · 0 评论 -
程序编程中一点总结
以下是自己在编程过程中一些总结: 1. 尽量使用内部所代替外部锁. 用下面的例子来说明一下: Class CDataList { public: CDataList(){} ~CDataList(){} bool Add()原创 2008-07-09 15:28:00 · 677 阅读 · 0 评论 -
界面开发中注意的问题
1. 弹出的对话框都要在主线程中做。原因不详。2. 主对话框弹出的两个模态对话框,要先关闭最后弹出的对话框,不然会出问题。系统资源不可用。解决方法将最后弹得框的父窗口设为先弹出的对话框。原创 2008-07-12 18:43:00 · 677 阅读 · 0 评论 -
errno 错误对照表
Constant System error message Value EPERM Operation原创 2007-12-11 16:59:00 · 3116 阅读 · 0 评论 -
string to wstring
如何把一个汉字作为一个字符来处理?在以前,似乎比较麻烦,因为一个汉字一向是由2个字符来表示的。比较汉字,往往变成了字符串的比较。unicode出现之后,情况就好多了,每个汉字都有唯一的编码,从此汉字就可以作为单个字符来对待了。 stl提供了string类来处理字符串,但是针对的是单字节字符串。如果想处理汉字,可以选择wstring。用法和string完全相同,但是处理的是宽字符。strin原创 2007-12-10 15:06:00 · 1990 阅读 · 0 评论 -
打印LOG
//////////////////////////////////////////////////////////////////////////////////// enum _LOG_LEVEL //LOG级别 { _LOG_LEVEL_ERROR = 0, _LOG_LEVEL_DEBUG, _LOG_LEVEL_RELEASE, }; //////////////////////原创 2007-09-13 09:53:00 · 1364 阅读 · 0 评论 -
C小技巧
把一个单一元素的数组放在struct的最后,例如:#pragma pack(1) struct structDynamicArray{ int nIndex; char szBufffer[1];};#pragma pack()按如下的方法来使用这个结构,string strName = "pig";structDynamicArray *pArr原创 2007-09-06 11:25:00 · 811 阅读 · 0 评论 -
取当前时间(C++)
#include static string currenttime(void) { string strCurrentTime = ""; struct tm *ptm = NULL; time_t tme; tme = time(NULL); ptm = localtime(&tme); char szTime[256]; memset(szTime, 0, 256); spr原创 2007-08-26 13:12:00 · 3953 阅读 · 0 评论 -
ASCII Characters
转载 2007-01-23 16:59:00 · 994 阅读 · 0 评论 -
从DLL中导出类
用DEF从DLL导出一个函数,或用__declspec(dllexport)指令从DLL中导出一个类,想必大家已经很熟悉了,也经常使用着。这里向大家介绍一种用DEF文件从DLL导出一个类的方法。具体原理或为什么就不废话了,学会导出后,再慢慢回味吧。这里主要叙述操作步骤。1。打开VC6.0,新建一个"Win32Dynamic-LinkLibrary"工程,假设叫DefClass,在“Dllkind”原创 2005-12-10 09:48:00 · 1696 阅读 · 0 评论 -
HOOK类型
常用的Hook类型: 1、WH_CALLWNDPROC和WH_CALLWNDPROCRET Hooks WH_CALLWNDPROC和WH_CALLWNDPROCRET Hooks使你可以监视发送到窗口过程的消息。系统在消息发送到接收窗口过程之前调用WH_CALLWNDPROC Hook子程,并且在窗口过程处理完消息之后调用WH_CALLWNDPRO CRET Hook子程。WH_CALLWNDP原创 2005-11-30 13:37:00 · 2264 阅读 · 0 评论 -
GDI&GDI+程序入门
#define UNICODE#include #include #pragma comment(lib, "gdiplus.lib")using namespace Gdiplus; VOID OnPaint(HDC hdc){ Graphics graphics(hdc); int stat; GraphicsPath path; SolidBrush brush(Color(2原创 2005-11-29 14:54:00 · 1277 阅读 · 0 评论 -
结构体应用
#pragma pack(1)///////////对齐方式typedef struct{ stru_preHead preHead; stru_frameHead frameHead; byte DI0; byte DI1; byte DI; byte TIME[7]; byte kWH[20]; byte CS; byte fTerminator;}stru_GateWarn;#pragma原创 2005-08-12 14:05:00 · 1087 阅读 · 0 评论 -
release
在VC的Release下跟踪调试程序的方法 (转)VC6.0 中,菜单Project/Settings...选择Release状态C/C++卡片中: Category 选择 general Optimizations 选择 Disable(Debug) Debug Info 选择 Program DatabaseLink 卡片中: Generate debug info好了,现在R原创 2005-08-15 15:30:00 · 969 阅读 · 0 评论 -
知识点滴------------
1)VC中打开某个网页 ShellExecute(NULL, "open", "www.yahoo.com.cn", NULL, NULL, SW_SHOWNORMAL);Q: 如何打开一个应用程序?ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或ShellExecute(this->m_hWnd,"open","note原创 2005-08-04 12:51:00 · 995 阅读 · 0 评论 -
C++标准库容器(vector)
#include using namespace std;vector array;vector::iterator iter;(参考MSDN)http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcstdlib/html/vcorivectoriteratorbegin.asp void CTe原创 2005-07-30 14:29:00 · 1524 阅读 · 0 评论 -
读写INI文件
/////////////////config.ini文件///////////[info]id=12name=wangliwei//////////////////////////////////int m_nid = GetPrivateProfileInt("info","id", 0, "config.ini");//绝对路径,0是莫认返回值//result: m_nid = 12 1.原创 2005-07-26 18:09:00 · 1937 阅读 · 0 评论 -
C++标准库容器
vector是序列容器,内存分配时占用连续空间,因为采用的是随机迭代器,所以得到某一位置的值非常快但是插入和删除比较慢,因为涉及到大块内存的赋值粘贴.list也是容器,但是内存分配是零散的,采用的是双向迭代器,得到某一位置的值并不快,但插入和删除效率很高.map底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错,只是每次插入值的时候,会重新构成底层的平衡二叉树,原创 2005-07-25 08:50:00 · 1266 阅读 · 0 评论 -
回车键
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////BOOL CLogInDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specia原创 2005-07-20 11:47:00 · 868 阅读 · 0 评论 -
加载图片
1.建立单文档工程http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/42e3cd0e-2413-494a-8be8-2952089e02d2.asp/////////.bmp/////////void CYXRMView::OnDraw(CDC* pDC){ CYXRMDoc* pDoc = GetD原创 2005-07-18 09:38:00 · 1072 阅读 · 0 评论 -
共享内存类
////////////////////////////////////////////////////////////////////////////////////////////////////////////ShareMem.h///////////////////////////////////////////////////////////// ShareMem.h: interfac原创 2005-07-15 19:40:00 · 1630 阅读 · 0 评论