摘要:
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... 阅读全文