06 2010 档案

摘要:#include "stdafx.h"#include <iostream>using namespace std;template <class T>class MyArray{ int len;public: T *data; MyArray() { data = NULL; len = 0;} ~MyArray(){ delete[] data;} T& o... 阅读全文
posted @ 2010-06-28 17:57 zhouli 阅读(705) 评论(2) 推荐(0)
摘要:判断Windows密码是否为空 先以账户,任意密码输入LogonUser函数,如果Windows密码为空,那么会返回错误号:1327HANDLE token;if ( !LogonUser (strUserName.GetBuffer(0) , _T(".") , strPWD.GetBuffer(0),LOGON32_LOGON_INTERACTIVE , LOGON32_PROVIDER_DE... 阅读全文
posted @ 2010-06-24 17:52 zhouli 阅读(619) 评论(0) 推荐(0)
摘要:互斥对象 保证只有一个实例运行创建一个全局对象HANDLE hMutex;在主程序入口:hMutex = CreateMutex(NULL,TRUE,"tickets");if(hMutex){  if(ERROR_ALREADY_EXISTs == GetLastError())  {    AfxMessageBox("此程序已经运行!!");    return;  }} 阅读全文
posted @ 2010-06-24 17:22 zhouli 阅读(306) 评论(0) 推荐(0)
摘要:char *strcpy(char *strDest,const char *strSrc){  assert((strDest != NULL) && (strSrc != NULL)); //如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。  char *address = strDest;  while((*strDest... 阅读全文
posted @ 2010-06-22 10:58 zhouli 阅读(304) 评论(0) 推荐(0)
摘要:u,v为两个整形变量最大公约数 实现:int gcw(int u,int v){ if(0==u%v) return v; u=u%v; if(1==u) return -1;//没有最大公约数 return gcw(v,u);}最小公倍数 实现:最小公倍数 = U*V/最大公约数及 (u*v)/gcw(u,v)。 阅读全文
posted @ 2010-06-21 17:59 zhouli 阅读(321) 评论(0) 推荐(0)
摘要:1. 在数字前面加0代表8进制: 012,023 为8进制12和23。2. 在数字前面加0x代表16进制: 0x12,0x23 为16进制12和23。3. 用8进制和16进制表示一个字符:  '\12' 八进制表示  '\0x12' 十六进制表示 阅读全文
posted @ 2010-06-21 16:04 zhouli 阅读(811) 评论(0) 推荐(0)
摘要:本文转自中国源码网http://www.yuanma.org/data/2006/0723/article_1213.htm一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放... 阅读全文
posted @ 2010-06-21 12:02 zhouli 阅读(355) 评论(0) 推荐(1)
摘要:long myProject::Convert2To10(CString strBuff){  long num = 0, sum = 0;  int nLen = strBuff.GetLength();  for ( int i = 0; i < nLen; i++ )  {    num = ( strBuff.GetAt(i) - 48 );    num = num * (long... 阅读全文
posted @ 2010-06-17 15:22 zhouli 阅读(1554) 评论(0) 推荐(0)
摘要:CString myProject::Convert16To2(CString strSource){  //转换成大写字母  strSource.MakeUpper();  CString strDest;  for( int i = 0;i < strSource.GetLength();i++ )  {    if(strSource.GetAt(i) == '0')      str... 阅读全文
posted @ 2010-06-17 15:19 zhouli 阅读(1066) 评论(0) 推荐(0)
摘要:COM 包容与聚合在聚合中,聚合的对象应该包含两个IUnknown,一个委托Iunknown,另外一个非委托IUnknown,由于C++不支持同时实现两个IUnknown,故非委托IUnknown 可以定义如下:class INondelegationUnknown //命名由自己决定而委托IUnknown本身不做任何操作,只是判断对象是否被聚合,如果被聚合,则将m_pUnknownOuter(定... 阅读全文
posted @ 2010-06-10 16:08 zhouli 阅读(207) 评论(0) 推荐(0)
摘要:COM库提供的API 函数产生GUID:HRESULT CoCreateGuid(GUID *pguid);IUnknown的定义(IDL接口描述语言)interface IUnknown{  HRESULT QueryInterface([in] REFIID iid,[out] void * *ppv);  ULONG AddRef(void);  ULONG Release(void);}对... 阅读全文
posted @ 2010-06-09 09:48 zhouli 阅读(275) 评论(0) 推荐(0)
摘要:在MFC要自己控制控件随窗口变化而改变其大小以下提供一个解决办法,easysize.h来自codeproject/Files/pbreak/EasySize.rar第一:添加消息映射afx_msg void OnSize(UINT nType, int cx, int cy);afx_msg void OnSizing(UINT fwSide, LPRECT pRect);ON_WM_SIZE()... 阅读全文
posted @ 2010-06-07 11:18 zhouli 阅读(1424) 评论(0) 推荐(1)
摘要:首先加载套接字库#include <winsock2.h> //套接字库头文件还需要为工程添加连接ws2_32.libWORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(2,2);err = WSAStartup(wVersionRequested,&wsaData);if(er... 阅读全文
posted @ 2010-06-05 18:05 zhouli 阅读(666) 评论(0) 推荐(0)
摘要:管道可以实现本地和网络上两个进程的通信服务器端:::OnPipeCreate() //创建命名管道{  hPipe = CreateNamedPipe("\\\\.\\pipe\\MyPipe",PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,    0,1,1024,1024,0,NULL);  if(INVALID_HANDLE_VALUE == hPipe) ... 阅读全文
posted @ 2010-06-05 16:45 zhouli 阅读(263) 评论(0) 推荐(0)
摘要:邮槽 在网络上进程通信为单向方式::OnMailslotRecv() //接收端即为服务器端{  HANDLE hMailslot;  CString mailhostName("");  mailhostName= "\\\\.\\mailslot\\MyRecvMailslot";  hMailslot = CreateMailslot(mailhostName,0,  MAILSLOT_WA... 阅读全文
posted @ 2010-06-05 16:22 zhouli 阅读(270) 评论(0) 推荐(0)
摘要:void CInterChatApp::GetHostInfo(CString &hostIP,CString &hostname){  DWORD dwsize = 255;  char username[255];   if(::GetComputerName(&username[0], &dwsize))   {    hostent *pHost;    p... 阅读全文
posted @ 2010-06-05 15:54 zhouli 阅读(202) 评论(0) 推荐(0)
摘要:这是N年前写的代码void inorder(BTCHINALR *bt)/*中序遍历二叉树(递归算法)*/{  if(bt != NULL){   inorder(bt->lchild);   printf("%c ",bt->data);   inorder(bt->rchild);  }}void lastorder(BTCHINALR *bt)/*后序遍历二叉树(递归算法)... 阅读全文
posted @ 2010-06-03 16:09 zhouli 阅读(362) 评论(0) 推荐(0)
摘要:导出函数_declspec(dllexport) int function()导出类class _declspec(dllexport) class1引用Dll函数声明_declspec(dllimport) int function()解决不同编译器名字改编的问题在定义导出函数时加上 extern "C" (大写C),如 extern "C" _declspec(dllexport) int f... 阅读全文
posted @ 2010-06-03 10:42 zhouli 阅读(697) 评论(0) 推荐(0)