
C++
hjfjoy
这个作者很懒,什么都没留下…
展开
-
十六进制转换十进制
unsigned long nValueTen = HexToInt((unsigned char*)cbHex) ; CString str=""; str.Format("%d",nValueTen); 函数//十六进制转换十进制int CComputerDlg::HexToInt(unsigned char cbHex[]){ int n = 0; for(in原创 2009-04-14 16:56:00 · 542 阅读 · 0 评论 -
struct 关于sizeof的大小
请看下面的结构:struct MyStruct{ double dda1; char dda; int type }; sizeof(MyStruct)为多少呢?也许你会这样求:sizeof(MyStruct)=sizeof(double) sizeof(char) sizeof(int)=13 上面的结构分配空间的时候,VC根据成员变量出现的顺序和对齐方式,先为第一个成员dda原创 2009-04-14 18:31:00 · 677 阅读 · 0 评论 -
Windows Socket五种I/O模型——代码全攻略
如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。每一种模型均适用于一种特定的应用场景。程序员应该对自己的应用需求非常明确,而且综合转载 2009-07-15 12:39:00 · 367 阅读 · 0 评论 -
多线程处理:如何使用同步类
如果某个线程必须等待某些事件发生后才能存取相应的资源,用CEvent;如果一个应用同时可以有多个线程存取相应资源,用CSemaphore;如果有多个应用(多个进程)同时存取相应资源,用CMutex,否则用CCriticalSection。转载 2009-09-27 15:13:00 · 382 阅读 · 0 评论 -
CMemDC:在MFC下解决绘图闪烁
简介在MFC应用程序解决闪烁是一个很常见的问题。我们可以在书或网上找到很多这样的材料。然而,这些技术多少有些复杂且难以运用到一个已有的应用程序中。双缓冲就是一个最常用的解决这个问题的技术。双缓冲就是在离屏内存中绘制一张图形,然后把绘制完成的图像按像素一次性贴到物理显示屏上。这篇文章给出一个叫CMemDC的类,这个类封装了绘制离屏缓冲区的操作。因此,向一个已经存在的应用程序或者ActiveX控件转载 2009-10-15 11:18:00 · 1031 阅读 · 0 评论 -
C++中的reinterpret_cast及取变量的地址
在C++中,我们经常有取变量地址的操作,实际上是取变量在内存中的开始处的地址,例如: view plaincopy to clipboardprint?#include using namespace std; struct T { int i转载 2011-07-06 15:36:20 · 1206 阅读 · 0 评论 -
socket实现大型文件传输
最近需要做网络传输的项目,需要实现较大文件的传输。在网上收集了不少资料,但是各有各的做法,尤其是关于文件自动接收这一块不太清楚。 经过图书馆查阅后还是找到了一种解决办法,虽然做的不太专业,但是思路比较精简、清晰,也希望能给大家尤其是刚学习socket套接字的人一些启示。 对于套接字socket我其实也不太懂,并且一般转载 2011-12-26 15:20:56 · 551 阅读 · 0 评论