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...
阅读全文
摘要:判断Windows密码是否为空 先以账户,任意密码输入LogonUser函数,如果Windows密码为空,那么会返回错误号:1327HANDLE token;if ( !LogonUser (strUserName.GetBuffer(0) , _T(".") , strPWD.GetBuffer(0),LOGON32_LOGON_INTERACTIVE , LOGON32_PROVIDER_DE...
阅读全文
摘要:互斥对象 保证只有一个实例运行创建一个全局对象HANDLE hMutex;在主程序入口:hMutex = CreateMutex(NULL,TRUE,"tickets");if(hMutex){ if(ERROR_ALREADY_EXISTs == GetLastError()) { AfxMessageBox("此程序已经运行!!"); return; }}
阅读全文
摘要:char *strcpy(char *strDest,const char *strSrc){ assert((strDest != NULL) && (strSrc != NULL)); //如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。 char *address = strDest; while((*strDest...
阅读全文
摘要: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)。
阅读全文
摘要:1. 在数字前面加0代表8进制: 012,023 为8进制12和23。2. 在数字前面加0x代表16进制: 0x12,0x23 为16进制12和23。3. 用8进制和16进制表示一个字符: '\12' 八进制表示 '\0x12' 十六进制表示
阅读全文
摘要:本文转自中国源码网http://www.yuanma.org/data/2006/0723/article_1213.htm一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放...
阅读全文
摘要: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...
阅读全文
摘要:CString myProject::Convert16To2(CString strSource){ //转换成大写字母 strSource.MakeUpper(); CString strDest; for( int i = 0;i < strSource.GetLength();i++ ) { if(strSource.GetAt(i) == '0') str...
阅读全文
摘要:COM 包容与聚合在聚合中,聚合的对象应该包含两个IUnknown,一个委托Iunknown,另外一个非委托IUnknown,由于C++不支持同时实现两个IUnknown,故非委托IUnknown 可以定义如下:class INondelegationUnknown //命名由自己决定而委托IUnknown本身不做任何操作,只是判断对象是否被聚合,如果被聚合,则将m_pUnknownOuter(定...
阅读全文
摘要: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);}对...
阅读全文
摘要:在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()...
阅读全文
摘要:首先加载套接字库#include <winsock2.h> //套接字库头文件还需要为工程添加连接ws2_32.libWORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(2,2);err = WSAStartup(wVersionRequested,&wsaData);if(er...
阅读全文
摘要:管道可以实现本地和网络上两个进程的通信服务器端:::OnPipeCreate() //创建命名管道{ hPipe = CreateNamedPipe("\\\\.\\pipe\\MyPipe",PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED, 0,1,1024,1024,0,NULL); if(INVALID_HANDLE_VALUE == hPipe) ...
阅读全文
摘要:邮槽 在网络上进程通信为单向方式::OnMailslotRecv() //接收端即为服务器端{ HANDLE hMailslot; CString mailhostName(""); mailhostName= "\\\\.\\mailslot\\MyRecvMailslot"; hMailslot = CreateMailslot(mailhostName,0, MAILSLOT_WA...
阅读全文
摘要:void CInterChatApp::GetHostInfo(CString &hostIP,CString &hostname){ DWORD dwsize = 255; char username[255]; if(::GetComputerName(&username[0], &dwsize)) { hostent *pHost; p...
阅读全文
摘要:这是N年前写的代码void inorder(BTCHINALR *bt)/*中序遍历二叉树(递归算法)*/{ if(bt != NULL){ inorder(bt->lchild); printf("%c ",bt->data); inorder(bt->rchild); }}void lastorder(BTCHINALR *bt)/*后序遍历二叉树(递归算法)...
阅读全文
摘要:导出函数_declspec(dllexport) int function()导出类class _declspec(dllexport) class1引用Dll函数声明_declspec(dllimport) int function()解决不同编译器名字改编的问题在定义导出函数时加上 extern "C" (大写C),如 extern "C" _declspec(dllexport) int f...
阅读全文

浙公网安备 33010602011771号