- 博客(56)
- 资源 (8)
- 收藏
- 关注
转载 关于继承和覆盖(Override)的一些基础知识
继承(Inherit) 所有基类的成员(包括被覆盖的成员)都被派生类自动拥有,这就是继承。 覆盖(Override) 如果派生类定义了和基类同名的成员,就说派生类的成员覆盖了基类的成员。 有时这个词会被不假思索的人说成是“重载”,那Overload是什么!注意:只要同名,不论数据成员的类型或函数成员的的形参列表是否相同,都是覆盖。 相关规
2010-01-16 14:10:00 1147
转载 变量取值范围
-------------------------------------------------------------------------- 类型 大小 值 ┆ -------------------------------------------------
2009-12-29 19:47:00 765
转载 fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose()
fgets(由文件中读取一字符串) 相关函数 open,fread,fscanf,getc表头文件 include定义函数 char * fgets(char * s,int size,FILE * stream);函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最
2009-12-29 18:45:00 2104
转载 码、反码、补码
在计算机内,定点数有3种表示法:原码、反码和补码 所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。 补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。 1、原码、反码和补码的表示方法
2009-12-27 12:24:00 774
转载 算法分析
时间复杂度 算法分析 定义1 [大写O符号] f (n) = O ( g(n) ) 当且仅当存在正的常数c 和n0,使得对于所有的n≥n0 , 有f (n) ≤c g(n)。定义2 [Ω符号] f (n) = Ω ( g(n) ) 当且仅当存在正的常数c 和n0,使得对于所有的n≥n0, 有f (n) ≥cg (n)。定义3 [Θ符号] f (n) = Θ( g(
2009-12-27 12:16:00 1289
转载 HOOK启思录-- HOOK的发展
非常遗憾,HOOK的发展史不是那么清晰可见。事实上,HOOK到底是什么,很多人的说法都不一样。 最早是在操作系统中出现的HOOK概念。在Unix/Linux/Windows中都有类似概念。当时提出的目的在于,允许用户在系统调用过程中,插入自己的代码处理特殊事情。典型的HOOK就是用自己的功能替换原有的函数点,在处理完成之后,又恢复原有的函数点。(这里“点”就是表示
2009-12-23 12:54:00 1306
转载 HOOK基础(二)
hook是什么? windows系统下的编程,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江,我是黄河”一个含义。windows中定义的消息给初学者的印象似乎是“不计其数”的,常见的一部分消息在winuser.h头文件中定义。hook与消息有着非常密切的联系,它的中文含义是“钩子”,这样理解起来我们
2009-12-23 12:41:00 827
转载 HOOK基础(一)
HOOK专题目录基本概念运行机制钩子类型作者基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处
2009-12-23 12:29:00 690
转载 什么叫阻塞,非阻塞,异步,同步?
对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其所以而不知起所以然。 同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。 阻塞套接字是指执行此套接
2009-12-22 17:18:00 1810
转载 STL函数
泛型算法: 1.find(开始索引,结束索引,查找值)。 2.copy(开始索引,结束索引,back_inserter(容器))。back_inserter成为iterator的适配器:它使得元素被插入到作为实参的vector的尾部。 3.sort(开始索引,结束索引)。 4.unique(开始索引,结束索引)。只是去掉相邻元素的重复值。操作后容器的长度不会变
2009-12-22 15:03:00 934
转载 Windows终止线程运行的四种方法
Windows终止线程运行的四种方法终止线程运行 若要终止线程的运行,可以使用下面的方法: • 线程函数返回(最好使用这种方法)。 • 通过调用 ExitThread 函数,线程将自行撤消(最好不要使用这种方法)。 • 同一个进程或另一个进程中的线程调用 TerminateThread 函数(应该避免使用这种方法)。 • 包含
2009-12-22 15:02:00 580
转载 GetSystemMetrics 参数介绍
SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section. SM_CLEANBOOT 返回系统启动方式: 0 正常启动 1 安全模式启
2009-12-22 15:02:00 746
转载 获取中文汉字首拼音字母
#include #include using namespace std; static char convert(wchar_t n); static bool In(wchar_t start, wchar_t end, wchar_t code); int main(int argc, char* argv[]) { string
2009-12-22 15:01:00 678
转载 list control排序问题
这些时候研究ListControl的排序,真是头都要大了,我的情况是在一个 dialog上放了多个ListControl,要在点击其中一个的一列的时候进行排序,在网上找了好多资料,讲得都不是很清楚,现在想来,不是没讲到要点,就是讲得太不清楚,让人云里雾里的,真是郁闷啊,讲清楚了的就没一个!!都是缺这少那的,走了不少错路,唉~~~ ListControl排序,是要靠参数项(LV
2009-12-22 15:01:00 2296
转载 c文件操作函数
c文件操作函数 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflu
2009-12-22 14:59:00 588
转载 SQL中文问排序
SQL中文问排序 首先把这些信息在editplus中,转换为一列,拷贝到excel中,拷贝后记着在第一行前插入一行,作为列标头,例如为name,然后在sql中表中,导入数据,生成一个新表,例如fenlei,打开sql语句行,执行:SELECT * FROM Fenlei ORDER BY name COLLATE Chinese_PRC_CS_AS_KS
2009-12-22 14:59:00 627
转载 MFC应用程序中指针的使用
MFC应用程序中指针的使用 作者:gouguijia1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量
2009-12-22 14:58:00 607
转载 CString ,BSTR ,LPCTSTR之间关系和区别
CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。 CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。 typedef OLECHAR FAR* BST
2009-12-22 14:53:00 454
转载 GetCurrentProcessID、OpenProcessToken
GetCurrentProcessID 得到当前进程的ID OpenProcessToken 得到进程的令牌句柄 LookupPrivilegeValue 查询进程的权限 AdjustTokenPrivileges 判断令牌权限 要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权
2009-12-22 14:53:00 1816
转载 String类的实现
String类的实现 #include using namespace std;class String{ friend ostream& operator<< (ostream&,String&);public: String(const char* str=NULL); //赋值构造兼默认构造函数
2009-12-22 14:52:00 580
转载 CString/string 区别及其转化
CString/string 区别及其转化 利用MFC进行编程时,我们从对话框中利用GetWindowText得到的字符串是 CString类型,CString是属于MFC的类。而一些标准C/C++库函数是不能直接对CString类型进行操作的,所以我们经常遇到将 CString类型转化char*等等其他数据类型的情况。这里总结备忘于此! 首先要明确,标准C中是不存在string
2009-12-22 14:51:00 2285
转载 C++的四种cast操作符的区别--类型转换
C++的四种cast操作符的区别--类型转换 C++的四种cast操作符的区别 ---------------------------------------------------------------------- Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?
2009-12-22 14:50:00 660
转载 编程修养
编程修养 1、版权和版本 ——————— 好的程序员会给自己的每个函数,每个文件,都注上版权和版本。 对于C/C++的文件,文件头应该有类似这样的注释: /************************************************************************ * * 文件名:network.c * * 文件描述:网络通讯函数集 *
2009-12-22 14:50:00 435
转载 指针和引用的区别于联系
1 什么情况下只能用指针,不能用引用。 2 什么情况下只能用引用,不能用指针。 引用和指针: 1.引用是某个已经存在的对象,指针可以指向空值; 2.应用指向某个对象后不可以指向其他对象,指针可以指向其他的合适对象; 3.当参数传递时,指针要做非空检验,引用一般没必要; 4.重载某个操作符的时候,应该用引用; 如果我遇到
2009-12-22 14:49:00 377
转载 cin用法介绍(特别是学习了cin.clear和cin.sync)
#includeusing namespace std;int main(){ char cstr; cstr=cin.get(); //读取单个字符,在屏幕输入,也相当于cin.get(cstr); cout<< system("pause");} 第一次搞cin,真是搞昏人了,现在逐渐开始明白是什么东东,一起探讨一下吧!
2009-12-22 14:49:00 747
转载 system()函数命令资料全集
ASSOC 显示或修改文件扩展名关联。AT 计划在计算机上运行的命令和程序。ATTRIB 显示或更改文件属性。BREAK 设置或清除扩展式 CTRL+C 检查。CACLS 显示或修改文件的访问控制列表(ACLs)。CALL 从另一个批处理程序调用这一个。CD 显示当前目录的名称或将其更改。CHCP 显示或设置活动代码页数。CHDIR 显示当前目录的名称或将
2009-12-22 14:47:00 715
转载 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? 区别就是作用域的区别,局部变量局部可见,全局变量,所有参与链接的模块都可以通过extern来操作该变量.局部变量{}内部定义的非静态变量都是局部变量了全局变量:在函数外部定义的非静态变量就是全局变量了 操作系统不需要知道谁是局部,谁是全局的
2009-12-22 14:45:00 6819 1
转载 重载(overload),覆盖(override),隐藏(hide)的区别
写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错! 我们先来看一些代码及其编译结果。 实例一: #include "stdafx.h"
2009-12-22 14:43:00 509
转载 输入一个字符串,要求找出字符串中最大子串的长度
关于C语言编程的题目:输入一个字符串,要求找出字符串中最大子串的长度(如字符串abcd13agbf,当重复出现某个字符时,算一个子串,比如abcd13a或bcd13agb都是子串)。int GetMaxSubStr(const unsigned char *str){ int maxLen = 0; if (NULL == str) { r
2009-12-22 14:38:00 2787
转载 Linux中的地址空间
Linux中的地址空间有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的? 先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的“代码段”
2009-12-22 14:34:00 519
转载 BMP文件结构
1. BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 2. BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORD
2009-12-22 14:32:00 367
转载 什么是字节对齐,为什么要对齐?
什么是字节对齐,为什么要对齐?什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大
2009-12-22 14:32:00 479
原创 解决TCP网络传输“粘包”问题
解决TCP网络传输“粘包”问题 作者:杨小平 王胜开 原文出处:http://www.ciw.com.cn/ 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP 和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP
2009-12-22 14:31:00 514
原创 在使用VC进行绘图时,屏幕闪烁问题
在使用VC进行绘图时,最郁闷的就是屏幕闪烁问题。有时只能使用双缓冲去解决,当然更多的时候是去忍受。有没有什么这种的方法?有,那就是重载 OnEraseBkgnd()函数。该函数控制重绘图的背景刷新,默认将窗口用系统背景颜色填充,即用白色将窗口刷一遍。这就产生的严重的闪烁效果,有时看到屏幕白的一条一闪而过,非常不爽。如果将该函数返回值设为TRUE,即不进行背景重绘,虽然屏幕的刷新仍然会闪烁,但是就不
2009-12-22 14:30:00 1197
原创 setsockopt 设置socket (转贴)
setsockopt 设置socket (转贴) 转自:http://blog.csdn.net/qinmi/archive/2007/03/07/1523081.aspx 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO
2009-12-22 14:30:00 516
原创 memcpy() 与strcpy()得区别
memcpy() -- 拷贝内存内容 2007年07月06日 星期五 09:07 相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy() 表头文件: #include 定义函数: void *memcpy(void *dest, const void *src, size_t n) 函数说明: memcpy()用来拷
2009-12-22 14:29:00 318
原创 SocketAPI之send函数和recv函数详解
SocketAPI之send函数和recv函数详解 SocketAPI之send函数和recv函数详解 今天我们进一步讲解socketapi的系列函数。其它的listen,connect,accept函数都讲过了。本文着重讲解send函数和recv函数。 send函数: 函数原型int send( SOCKET s, const char FAR *buf, int len
2009-12-22 14:29:00 774 1
原创 如何求S=a+aa+aaa+aaaa……(n个)
如何求S=a+aa+aaa+aaaa……(n个) 法一: #include int getresult_Problem(int K, int N ) { int Unit = 1; int Temp = 1; for (int i = 1; i { Temp = ((Temp * 10) + 1); Unit =
2009-12-22 14:28:00 3356
原创 回调函数
回调函数 简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就
2009-12-22 14:28:00 424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人