09 2010 档案

《算法之美》の字符串相关问题の壹
摘要:题目:编写一个单词逆序输出的算法,例如输入“SEE YOU IN ANOTHER LIFE”,要求输出“LIFE ANOTHER IN YOU SEE”。解答:解法一:只需扫描一遍:#include <iostream> void ReverseWord(const char* src, char* dest){ assert(src != NULL && dest != NULL); const char* head = src; //记住头指针 while(*src++); int count = 0; for(src -= 2;;src--) //从尾到头遍历 阅读全文

posted @ 2010-09-30 15:33 android开发实例 阅读(287) 评论(0) 推荐(0) 编辑

emule(电驴/电骡)源码分析
摘要:void CUpDownClient::ConnectionEstablished():emule中, CUpDownClient 代表了一个peer。一个peer会被放置到各种队列中去。比如,还未连接的peer被放入到待连接队列中。其它队列中保存的是peer的指针,这样可以节省内存。函数ConnectionEstablished()其意思很明显:连接建立后调用。一个peer连接后,需要做什么呢?1 从connecting队列中删除。2 如果本emule还未获取到自己的公网IP,则通过这个peer获取自己的公网IP。3 更新peer在kad网络中的状态。4 如果正在与这个peer聊天,则更新这 阅读全文

posted @ 2010-09-28 07:05 android开发实例 阅读(1296) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》のWM_*代码转字符串表示的函数
摘要:一个将WM_*消息代码转换为字符串表示的函数:(打表法)#include <windows.h>struct WMArray { UINT Code; char Message[100];} waWMArray[] = { {0x0000, "WM_NULL"},{0x0001, "WM_CREATE"},{0x0002, "WM_DESTROY"},{0x0003, "WM_MOVE"}, {0x0005, "WM_SIZE"},{0x0006, "WM_ACTIVATE 阅读全文

posted @ 2010-09-20 17:34 android开发实例 阅读(465) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の简单的进程封装类
摘要:一个简单的进程封装类,该类允许我们新建一个远程进程,并对其进行控制。进程类CProcess的头文件如下:class CProcess{ public: PROCESS_INFORMATION ProcessInfo; //进程结构信息 STARTUPINFO StartupInfo; //启动信息 bool KillProcess(UINT); //强制杀死进程,不推荐 bool KillThread(UINT); //强制杀死线程,不推荐 bool LoadProcess(char *, char *, char *); //创建远程进程 bool Pause(void); //挂起主线程 阅读全文

posted @ 2010-09-18 22:00 android开发实例 阅读(217) 评论(0) 推荐(0) 编辑

利用CSS3特性巧妙实现漂亮的DIV箭头
摘要:DIV箭头用于表现DIV内容的指向,是使用非常普遍的一种表现形式,例如新浪微博的消息转发: 还有傲游网站的导航条: 像傲游账户上方这种箭头更需要多幅图片以表现箭头和hover的效果。传统的实现方式都需要一副表示箭头的图片放在DIV上方来实现,例如新浪微博的相关CSS如下: 而使用CSS3的特性,我们不需要图片就可以实现更加华丽的效果,这样做的好处还包括减少本地文件系统的读取、节省服务器带宽和连接数、避免文件下载失败带来的错误等等。 实现的原理是:我们可以将箭头看作是一个矩形或者菱形的一个角,使用CSS3的属性transform来实现矩形的旋转。 朝上的箭头需要将矩形旋转45度,我们使用tra. 阅读全文

posted @ 2010-09-18 16:47 android开发实例 阅读(341) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の动态改变数组大小
摘要:一段简单的动态改变数组大小的代码,给初学者看看,详见代码:#include <iostream>class Int_array{ static int no_instances; //数组的实例个数 int size; int len; int *array; //数组指针public: Int_array(int); Int_array(const Int_array&); int &retrieve(int); //索引元素 int no_instance(); void Display(); int length(); void Add(int); void 阅读全文

posted @ 2010-09-15 21:04 android开发实例 阅读(461) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の基于冒泡排序的二分查找模板
摘要:##########################################################################ASCE1885的声明:本文源代码归属于:author: Gonzales Ceneliahomepage: www.ai-search.4t.com有增改!##########################################################################本代码实现二分查找的功能,查找前对数组排序使用的是冒泡排序算法。使用的开发环境是Dev C++ 4.9.9.2。程序头文件是bisearch.h, 阅读全文

posted @ 2010-09-15 16:30 android开发实例 阅读(279) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の基于完成端口模型的TCP服务器框架
摘要:使用IOCP的TCP服务器使用过程大体如下:1) 使用CreateIoCompletionPort函数创建完成端口,并以该I/O完成端口为参数创建多个服务线程;2) 创建监听套接字;3) 接收客户端连接请求,返回服务套接字;4) 将服务套接字与完成端口绑定,并在该套接字上投递初始I/O操作请求;5) 返回步骤3);服务线程的流程如下:1) 调用GetQueuedCompletionPort函数等待获取完成信息;2) 根据需要对数据进行处理并投递后续的I/O操作请求;3) 返回步骤1)。程序代码及注释如下:#include <stdio.h>#include <winsock2 阅读全文

posted @ 2010-09-15 15:13 android开发实例 阅读(546) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の跨平台线程对象Thread封装基类
摘要:首先当然是先定义头文件Thread.h咯,如下:#ifndef _THREAD_H#define _THREAD_H#ifdef _WIN32#include <windows.h>#else#include <pthread.h>#endif#ifdef _WIN32typedef unsigned threadfunc_t;typedef void* threadparam_t;#define STDPREFIX __stdcall#elsetypedef void* threadfunc_t;typedef void* threadparam_t;#define 阅读全文

posted @ 2010-09-11 20:00 android开发实例 阅读(340) 评论(0) 推荐(0) 编辑

《认清C++语言》のrandom_shuffle()和transform()算法
摘要:1)STL中的函数random_shuffle()用来对一个元素序列进行重新排序(随机的),函数原型如下:template<class RandomAccessIterator> void random_shuffle( RandomAccessIterator _First, //指向序列首元素的迭代器 RandomAccessIterator _Last //指向序列最后一个元素的下一个位置的迭代器 );template<class RandomAccessIterator, class RandomNumberGenerator> void random_shuf 阅读全文

posted @ 2010-09-07 15:36 android开发实例 阅读(900) 评论(0) 推荐(0) 编辑

《ASCE1885的源码分析》の跨平台互斥对象Mutex封装类
摘要:1)首先定义互斥对象的接口IMutex(所在文件是IMutex.h)class IMutex //抽象接口{public: virtual ~IMutex() {} virtual void Lock() const = 0; virtual void Unlock() const = 0;};2)接着是实现IMutex接口的实现类Mutex头文件是Mutex.h:#ifndef _WIN32#include <pthread.h>#else#include <windows.h>#endif#include "IMutex.h"class Mute 阅读全文

posted @ 2010-09-06 22:40 android开发实例 阅读(290) 评论(0) 推荐(0) 编辑

《Windows核心编程》の托盘程序的编写(CSystemTray类)
摘要:研究下托盘程序,或者说:任务栏通知区域(Tray)图标。很多应用程序在系统Shell任务栏通知区域有图标提示。通知区域图标适用于长时间运行但无需用户过多操作,并在有事件发生时可随时根据情况通知用户的应用程序(如即时通信工具、下载工具等)。使用任务通知区域图标的好处如下:1) 窗口程序可以在后台运行,窗口退出,但是程序仍然在运行,减少窗口数量,便于用户操作;2) 窗口最小化后,不占用任务栏的位置,使用户在操作主机时将精力集中在需关注的窗口;3) 在新事件发生时(如新的即时消息、文件下载完成等),可以即时通知到用户;4) 用户通过单击、双击图标、图标菜单等可以很方便地配置应用程序,控制应用程序的运 阅读全文

posted @ 2010-09-04 21:42 android开发实例 阅读(641) 评论(0) 推荐(0) 编辑

《ASCE1885的信息安全》のWindows下智能卡应用程序的开发(二)
摘要:1)SCardListReaders函数用来获取系统中在指定读卡器组集合中的读卡器名字列表(去掉重复的)。调用者提供一读卡器组列表,函数返回这些指定组里面的读卡器名字列表;无法标识的组名将被忽略。LONG WINAPI SCardListReaders( __in SCARDCONTEXT hContext, //由SCardEstablishContext()建立的资源管理器上下文,//不能为NULL __in_opt LPCTSTR mszGroups, //读卡器组名,为NULL时表示列出系统中所有读卡器 __out LPTSTR mszReaders, //系统中指定读卡器组中的读卡器 阅读全文

posted @ 2010-09-02 10:58 android开发实例 阅读(820) 评论(0) 推荐(0) 编辑

《ASCE1885的信息安全》のWindows下智能卡应用程序的开发
摘要:Windows系统提供了大量的API来方便的进行智能卡应用程序的开发,通过它们我们可以直接控制智能卡读卡器对智能卡进行操作,也可以与智能卡建立直接的虚拟连接而不用考虑智能卡读卡器。智能卡应用程序开发的一般流程是:1)建立连接(使用函数SCardEstablishContext和SCardConnect,SCardReconnect);2)开始事务处理(使用函数SCardBeginTransaction);3)进行事务处理(使用函数SCardTransmit);4)结束事务处理(使用函数SCardEndTransaction);5)断开连接(使用函数SCardDisconnect和SCardRe 阅读全文

posted @ 2010-09-01 22:12 android开发实例 阅读(616) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示