自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (11)
  • 收藏
  • 关注

转载 strftime 函数

strftime <br />   strftime()函数将时间格式化   我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:   size_t strftime(   char *strDest,   size_t maxsize,   const char *format,   const struct tm *timeptr   );   我们可以根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中

2010-07-08 15:46:00 868

原创 c++ operator new 和 new

<br />operator new 和new 操作符<br /> <br />operator new(int size)操作符只负责分配内存,并不会调用对象的构造函数。new操作符不仅会分配内存而且会调用对象的构造函数进行初始化。<br /> <br /> 

2010-06-25 14:46:00 982 1

原创 写代码一定要小心、谨慎

<br />写代码一定要小心、谨慎。不能犯低级错误。

2010-06-24 10:58:00 739

原创 strdup函数

<br />     原型:extern char *strdup(char *s); <br />  用法:#include <string.h> <br />  功能:复制字符串s <br />  说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。 <br />  举例: <br />  // strdup.c <br />  #include <syslib.h> <br />  #include <string.h> <br />  main() <br /

2010-06-23 09:07:00 748

转载 SO_LINGER说明

<br />SO_LINGER<br />   此选项指定函数close对面向连接的协议如何操作(如TCP)。缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。<br /> <br />SO_LINGER选项用来改变此缺省设置。使用如下结构:<br />struct linger {<br />     int l_onoff; /* 0 = off, nozero = on */<br />     int l_linger; /* linger time */

2010-06-11 18:30:00 996

原创 Kill函数

2010-06-07 15:14:00 855

原创 信号和系统调用之间的关系

<br /> <br />

2010-06-07 15:07:00 1045

转载 字节对齐

<br />什么是对齐,以及为什么要对齐<br /> <br />原文地址:http://www.cnblogs.com/smartstone/archive/2007/02/08/645308.html<br />现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。<br /> <br />对齐的作用和原因:各个硬

2010-06-07 10:43:00 698

原创 dlsym函数

<br /> dlsym()的函数原型是 <br /> void* dlsym(void* handle,const char* symbol) <br /> 该函数在<dlfcn.h>文件中。 <br />  handle是由dlopen打开动态链接库后返回的指针,symbol就是要求获取的函数的名称,函数返回值是void*,指向函数的地址,供调用使用

2010-06-06 19:16:00 15809

原创 dlopen函数

     dlopen()<br />功能:打开一个动态链接库 <br />包含头文件:<br />  #include <dlfcn.h> <br />函数定义: <br />  void * dlopen( const char * pathname, int mode ); <br />函数描述:<br />  在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。 <br />mode:分为这两种 <br />  RTLD_LAZ

2010-06-06 19:15:00 3617

原创 strcasecmp函数

<br />    strcasecmp函数:实现忽略大小写的字符创比较。<br />    返回值:类似strcmp函数。<br />    函数原型:strcasecmp(const char* sz1, const char* sz2);<br /> <br />    举例:<br />     #include <string.h> int main() {   char *a="aBcDeF";   char *b="AbCdEf";   if(!strcas

2010-06-06 18:52:00 2452 1

原创 strrchr函数

<br />       strrchr()函数:查找一个字符串在另一个字符串中末次出现的位置,并返回从字符串中的这个位置起,<br /> 一直到字符串结束的所有字符。 如果未能找到指定字符,那么函数将返回NULL。<br />       函数原型:char *strrchr(char *str, char c);<br />       举例:<br />       <br /> <br />     #include <stdio.h>#include <string.h>#define

2010-06-06 18:49:00 901

转载 守护进程实现

 原文地址:http://book.csdn.net/bookfiles/545/10054518310.shtml由于守护进程的特点,编写守护进程程序必须遵守一定的规则。本节将阐述这些规则的要点,并给出相关代码。8.2.1  实现守护进程的步骤在Linux系统中,要编程实现一个守护进程必须遵守如下的步骤。1.让init进程成为新产生进程的父进程。调用fork函数创建子进程后,

2010-05-31 10:47:00 1368

原创 vfprintf、vprintf和vsprintf函数

一、vfprintf     函数名: vfprintf   功 能: 格式化的数据输出到指定的数据流中   用 法: int vfprintf(FILE *stream, char *format, va_list param);   函数说明:vfprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束 

2010-05-27 17:11:00 17309

原创 mkdir和fileno函数

一、mkdir函数     函数名: mkdir   功 能: 建立一个目录   用 法: int mkdir(char *pathname);  二、fileno函数     函数名: int fileno(FILE *stream)   函数说明:fileno()用来取得参数stream指定的文件流所使用的文件描述符   返回值 :返回文件描述符    

2010-05-27 17:03:00 1185

原创 chdir和localtime函数

 一、函数chdir       函数原型:int chdir(const char*path);    功 能: 改变工作目录     返回值:成功返回0 ,失败返回-1    用法举例:         int main(){ char* pDir = "/tmp"; int nRetCode = chdir(pDir); if (nRet

2010-05-27 16:54:00 1134

转载 关于SO_DONTROUTE套接口选项的说明

1 引子在上一篇关于如何将套接口绑定到网络接口上的文章中,我曾经以为采用SO_DONTROUTE套接口选项能够实现和SO_BINDTODEVICE选项同样的功能。但是实践证明不是这样。那么,其原因到底是为什么呢?SO_DONTROUTE套接口选项真正的作用是什么呢?本文将对此予以解答。2 问题求解在socket(7

2010-03-10 17:50:00 9548

转载 浅析:setsockopt()

浅析:setsockopt()1. 如果在已经处于ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const

2010-03-10 17:31:00 810

原创 如何结束模态对话框?

一个模态对话框创建之后,阻塞了当前线程。一般情况下,只有通过模态对话框上的按钮例如onok或oncancel结束对话框。但是有些特殊的场合下,如何在外部结束一个模态对话框呢?(1)调用模态对话框的EndDialog() (2)通过发送WM_CLOSE消息结束。本人倾向于(2)。使用(1)未免太暴力了。可能会引起未知的错误。

2010-03-05 16:27:00 1283

转载 timeGetTime Function

timeGetTime Function The timeGetTime function retrieves the system time, in milliseconds. The system time is the time elapsed since Windows was started.Syntax

2010-03-02 11:47:00 887

转载 RAII惯用法:C++资源管理的利器

RAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的

2010-03-01 15:48:00 723

原创 得到当前时间

    当产生日志文件时,一般要记录日志事件发生的当前时区的时间。在C/C++语言,使用localtime便可以获取当前时区的时间。举例如下: #include int _tmain(int argc, _TCHAR* argv[]){ time_t t = time(NULL); struct tm* tp = localtime(&t); prin

2010-02-23 11:36:00 622 1

原创 为自己顶个目标,做更好的自己。

    新的一年来了, 大家都怀着新的希望。期盼着在新的一年里能够有所收获、有所成功。在这里许个愿,也算立下自己的近期理想和奋斗目标:能够进入网游工作室。生活本来是平淡的,正是因为有了理想,才变得绚丽多彩、回味无穷。 

2010-02-23 08:59:00 509

原创 模态对话框和非模态对话框结束区别

模态对话框使用EndDialog结束,而非模态对话框使用DestroyWindow结束。

2010-02-22 16:26:00 541

转载 OpenSSL

 什么是OpenSSL  众多的密码算法、公钥基础设施标准以及SSL协议,或许这些有趣的功能会让你产生实现所有这些算法和标准的想法。果真如此,在对你表示敬佩的同时,还是忍不住提醒你:这是一个令人望而生畏的过程。这个工作不再是简单的读懂几本密码学专著和协议文档那么简单,而是要理解所有这些算法、标准和协议文档的每一个细节,并用你可能很熟悉的C语言字符一个一个去实现这些定义和过程。我们不知道

2010-02-05 10:05:00 775

原创 getprotobyname函数

getprotobynameThe getprotobyname function retrieves the protocol information corresponding to a protocol name.struct PROTOENT* FAR getprotobyname( const char* <a class="synParam" onclick="fun

2010-01-25 14:01:00 4621

原创 std::atexit函数

std::atexit函数用来注册当程序终止时,调用的函数吗,通常用来释放资源。例如:  #include "stdafx.h"#include int* ptrq = NULL;void Release(){ printf("release"); free(ptrq); ptrq = NULL;} int _tmain(int argc, _TCHAR* argv[]){

2010-01-13 22:13:00 2831

原创 KeePass源代码分析3

  KeePass源代码分析3----KeePass文件格式    KeePass文件格式由文件头部和数据部分组成。由于文件存储涉及到密码安全方面的东西,所以硬盘存储的是KeePass文件经过加密后的文件数据。总体上KeePass的文件格式组织方式如下:       KeeP

2009-12-29 17:39:00 4068

原创 KeePass源代码分析2

    KeePass源代码分析2---基于插件的架构   KeePass是一个基于插件机制的绿色开源软件,也就是所有的KeePass插件不用像操作系统注册就直接可以使用,这就避免了污染了系统注册表。我们这节来分析KeePass的机制实现机制。首先确定已经下载了KeePass源代码,并且已经编译成功了。打开KeePass项目工程,可以看到一下的目录结构:

2009-12-26 17:01:00 5897 1

原创 KeePass源代码分析1

KeePass源代码分析1---编译KeePass最近,在SourceForge.net上下了一个安全方面的源代码KeePass,KeePass是一个可靠的密码管理工具,能够十分安全的管理自己的密码,而且还是免费和开源的。KeePass是用vc++编写的,源代码地址:http://sourceforge

2009-12-25 17:50:00 5117

原创 IsBadReadPtr函数

该函数用来检查进程是否有权限访问指定的内存块。 The IsBadReadPtr function verifies that the calling process has read access to the specified range of memory.BOOL IsBadReadPtr(  const VOID* lp,  UINT_PTR ucb);

2009-12-24 11:45:00 12261

原创 secureZeroMemory和ZeroMerory的区别

    secureZeroMemory和ZeroMerory的区别    根据MSDN上,ZeryMerory在当缓冲区的字符串超出生命周期的时候,会被编译器优化,从而缓冲区的内容会被恶意软件捕捉到。引起软件安全问题,特别是对于密码这些比较敏感的信息而说。而SecureZeroMemory则不会引发此问题,保证缓冲区的内容会被正确的清零。如果涉及到比较敏感的内容,尽量使用SecureZero

2009-12-23 11:57:00 7540

原创 c文件操作,兼容多字节和unicode

在头文件里,有这么一组操作文件的宏        #define _tfdopen    _wfdopen      #define _tfsopen    _wfsopen      #define _tfopen     _wfopen        #define _tfopen_s   _wfopen_s      #define _tfreopen  

2009-12-23 11:07:00 1163

转载 数字签名

     数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。  数字签名不是指将你的签名扫描成数字图像,或者用触摸板获取的签名,更不是你的落款。  数字签名了的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名

2009-12-22 17:21:00 669

转载 pack关键字的使用

pack         #pragma   pack([n])         该指令指定结构和联合成员的紧凑对齐。而一个完整的转换单元的结构和联合        的紧凑对齐由/Zp选项设置。紧凑对齐用pace编译指示在数据说明层设置。该编译指示在其出现后的第一个结构或联合说明处生效。该编译指示对定义无效。当你使用#pragma  pack(n

2009-12-22 11:37:00 1129

转载 __declspec(novtable) 的用法

__declspec(novtable) 的用法 __declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declspec(novtable).  __declspec(novtable) 就是让类不要有虚函数表以及对虚函数表的初始化代码,

2009-12-22 10:20:00 719

原创 keePass---基于插件的密码管理器

     最近在研究KeePass的源代码,老外的大牛果然不同凡响,令人恐怖的宏到处都是。令我等菜鸟心服口服。不用我说,这个源代码确实有许多值得学习的地方,首先这是一个基于插件机制的程序。也就是只要按照它定义的规范就可以根据自己的需要为KeePass编写插件。这是不是很炫啊。记得我刚接触到vs studio开发环境时,装了源代码管理器插件。然后就可以直接在vs studio中使用源代码管理,这个功

2009-12-21 17:59:00 3809 4

原创 BASE64编码和解码

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3,转换之后通过一个BASE64的码表就可以得到BASE64编码。如果字符串不是3的倍数的话,转换时字节不足的地方用‘=’代替

2009-12-21 12:00:00 941

转载 (转)wxWindows一些网文

转)wxWindows一些网文  1# 大 中 小 发表于 2005-4-26 20:57  只看该作者 (转)wxWindows一些网文最近看了Borland C++BuilderX的报道,发现这次的版本使用的是wxWindows做为FrameWork。十分惊讶,因为我在一年以前就使用wxWindows了。不过在当时,包括最近有关它的国内报道还是很少。  wxWindows是一个C++的扩展

2009-12-19 10:44:00 1270

原创 调整了日志格式

今天调整了日志格式,看了filezilla开源ftp客户端,以后花些时间好好研究其源代码,提高自己的编程水平。filezilla是采用wxwigdet库作为界面库,wxwiget也是一个开源且免费的跨平台界面库,实现类似MFC,很好很其强大。另外一个安全软件KeePass也十分不错,其架构和加密解密算法值得好好研究。 

2009-12-18 18:20:00 693

python 学习资料

python 经典

2011-12-09

box2D中文手册

box2D中文手册 非常适用,不敢独享,撒花

2011-12-08

HelloAndroid

android入门经典之作,深入浅出的讲述了android入门必备的知识,并且以实例贯穿整个书籍。是一本难得的好书。

2009-10-22

Professional_Android_App

android开发书籍,android开发中的经典书籍。学习android开发必备资料。英文版。

2009-10-22

类似QQ的弹出通知窗口

好东西,C#实现的类似QQ的弹出窗口,自动弹出和隐藏。效果很酷。希望大家能够喜欢。

2009-03-21

Windows Sockets 完全进阶

比较全的电子书,介绍了网络编程的各个方面,有较大的参考价值。希望大家喜欢。

2009-03-21

毕业设计 (公交查询系统)

本系统是采用asp.net +sql2000写的,布局采用css+div,实现了公交查询的基本功能,对初学者有很大的帮助。 使用方法:解压后,有GJ文件夹和data.rar两个文件,其中data.rar是数据库文件,解压后从sql2000中的企业管理器中附加数据库就可以使用了。

2009-03-20

Com组件实例

该程序以一个简单的实例介绍了com组件技术

2008-05-15

VIDEO

C#做的视频捕捉程序

2008-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除