- 博客(15)
- 资源 (12)
- 收藏
- 关注
原创 packet_pop.cpp
#include"error.h"#include"packet_pop.h"CPacketPop(char *src_data,int len){Init(src_data,len);}CPacketPop(){}~CPacketPop(){}void CPacketPop::Init(char *src_data,in
2014-01-23 22:39:06 728
原创 packet_pop.h
/* *文件名 packet_pop.h *描述:从数据包的数据体取出数据 */#ifndef _PACKET_POP_H#define _PACKET_POP_Hclass CPacketPop{ public: //@len src_data指向的数据的长度CPacketPop(char *src_d
2014-01-23 18:10:30 726
原创 packetpush
int ::PushChar(char c){int len = sizeof(c); if(m_buff == NULL) { return -1; } if(m_offset + len > m_buff_size) { return -1; } m
2014-01-23 13:59:28 701
原创 packet_push
/** 文件名:packet_push.h* 描述:将数据压入数据包的数据体*/#ifndef _PACKET_PUSH_H#define _PACKET_PUSH_Hclass CPacketPush{ public: CPacketPush(char *buff,int buff_size);
2014-01-22 22:17:09 256
转载 #ifdef,#else,#endif,#if用法详解
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。关于预处理命令中的文件包含(#i nclude),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说明。
2014-01-22 10:31:02 3101 1
原创 VS2010 C++中调试DLL工程
1、在“Solution Explorer”(解决方案)中找到要调试的dll项目,点击右键,选择Set as StartUp Project(设为启动项目);然后选择dll项目,点击右键,选择Properties(属性),打开属性页设置页面;2、在Properties (属性)页面中,选择Configuration Properties(配置)下拉菜单,然后选择Debug;3、在D
2014-01-21 22:25:16 4473
转载 指针与数组 内存分配
char *a = "hello world";首先,操作系统在编译器规划内存方案中的的文字常量区分配一段内存,存储"hello world"字符串,然后在栈区分配一个内存,存储"hello world"字符串所在内存的首地址。 char b[] = "hello world";操作系统在编译器规划的内存方案中的栈区分配一段连续内存空间(12个字节),存储"hello world"字符串。
2014-01-20 21:29:42 881 1
转载 指针与地址
每一位学C语言的同僚都知道,指针在C中占有非常重要的角色,没有掌握指针就相当于没有掌握C语言的精华.但是,指针对很多刚学C的人来说,有相当的难理解,因为他的使用很灵活,所以很容易运用混淆.我在学习的过程中也遇到很多类似的问题.以下是我的一点点体会: 指针就是变量的内存地址,用一个变量来专门存放另一个变量的地址(指针)时就称这个变量为指针变量,指针变量的定义方式为:基类型 *指
2014-01-20 21:26:49 633
转载 指针与内存分配
1. 指针很灵活,这使得指针很难管理,在定义指针时,将在栈中开辟一块内存存放指针的地址(栈内的内存由系统分配和释放),指针的地址内存只是存放指针的地址,不存放指针指向的数据,值得注意的是,定义指针时指针会随机指向一块内存,如int *p;p会指向一块不为空的内存,相当危险,例如执行判断if(!p){ printf("p为空");};这里不会输出"p为空";所以在定义时想让指针p为空,则要int
2014-01-20 21:25:38 665
转载 malloc和new的区别与联系
1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于
2014-01-20 21:22:25 600
转载 GetKeyState和GetAsyncKeyState的区别
简单的说。GetAsyncKeyState就是检查在调用该函数时,某一key的状态。而GetKeyState是检查window message发生时,某一key的状态。举例说明如下:1. GetAsyncKeyState// 检查是否Ctrl和tab键同时按下,使用GetAsyncKeyStatevoid CheckKeyState1(MSG* pM
2014-01-20 14:58:13 3287
转载 sizeof strlen 区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所
2014-01-20 11:42:52 615
转载 指针的大小
指针的大小是问:一个指针变量占用多少内存空间? 分析:既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行!(这是一间只有烟盒大小的“房间”,因为它只需要入一张写着地址的纸条)。 存放一个地址需要几个字节?答案是和一个 int 类型的大小相同:4字节。 所以,若
2014-01-20 11:26:41 626
原创 CString 字符串 按指定字符 分隔 获取第n段的子字符串
CString GetStrInSomeChar(CString strSource,CString strCh,int nGet) //第一个源字符串,第二个分隔符,第三个要获取的第几段子字符串{ CString pArray[50],str; int num; Split(strSource,pArray,num,strCh);
2014-01-03 10:53:35 2945
原创 std::string 在字符串中查找第n个字符的位置
int GetIndex(std::string strSource,char ch,int n){ int nIndex = -1; for(int i=1;i { nIndex++; nIndex = strSource.find(ch,nIndex);
2014-01-03 10:38:35 6182
datachange_eureka.rar
2020-01-13
容量测试工具DataFactory v5.6及注册码、操作指导书全套
2010-03-04
VC++使用ADO开发ACCESS数据库
2009-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人