摘要:
#includeusing namespace std;#include#include//虚函数/*class ClassA{public: ClassA() { coutgetnum(); getchar();}*//*上一程序的缩略版class ClassA{public: virtual void getnum() { coutgetnum(); getchar();}*//*通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“aba... 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
KMP算法简单说是一种字符串匹配的算法,文本在这里详细研究一下KMP算法,也是初学,不妥之处望多多指教。 既然说到字符串匹配,肯定有两个字符串,一个作为源串,一个作为模板串,一般来讲源串比较长,模板串比较短,匹配算法就是用短的模板串去检测源串中是否存在和它相同的版本。 举个例子 我们设源字符串为Source string用数组s[]来表示,而模板字符串用数组T[]来表示。 假设s[]={a,d,f,e,a,d,a,f,c,s,h} 而T[]={a,d,a,f}.显然由于是故意设置的,这两个数组是存在匹配关系的,也就是从s[4]开始。 用肉眼看到的东西如何用程序来表示出来。先看看传统的匹配算法。 阅读全文
摘要:
用户自定义类型,结构体在C++中几乎被类所取代,但很多时候在访问结构体成员时也总会犯些错误。下面仅讨论几种访问结构体成员的方法。 设一个简单的结构体定义如下typedef struct{ int x; int y; char name[20]; char *type; }Point; 其实访问结构体成员的方法不外乎三种,结构体变量名直接访问、指针变量访问、指针结构体变量访问 定义两个结构体变量。Point m_point; Point *my_p; 当然我们可以给指针变量申请一个地址空间my_p=(Point*)malloc(sizeof(Poin... 阅读全文
摘要:
因为研究木马,需要用到键盘钩子,所以准备仔细的学习一下。顺便整理一下自己的思路。 1、什么是钩子? 首先windows操作系统是建立在事件驱动机制的基础上的,简单来说,系统各窗口之间的沟通都是通过消息的相互传递而实现的,通常应用程序只能处理来自程序内部进程之间或进程自己传递的消息。如果需要对进程之外传递的消息进行拦截处理,就要用到(HOOK)钩子技术。 基本原理,钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入到系统。钩子的种类有很多(比如键盘钩子,鼠标钩子等),每一种钩子负责截获并处理相应的消息。钩子机制允许应用程序截获并处理发往指定窗口的消息或特定事件。在特定消息... 阅读全文
摘要:
之前一直想自学unix网络编程,还特地去买了本史蒂文斯的书。没想到一开始就被那个简单的时间获取客户程序搞晕了。试了N中方式把网上的教程翻了个便都不行。甚至有一段时间故意不去看它。关键就在unp.h,怎么把它编译成功。#include "unp.h"//#include "myerr.h"intmain(int argc, char **argv){ int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr;... 阅读全文
摘要:
首先我们知道D类地址作为多播地址,对于单纯的子网内部多播,并不要求路由器进行转发,但一旦涉及到主机和路由器同时进行多播通信时,就需要用到IGMP协议,他可以让一个物理网络上的所有系统知道主机目前所在的多播组,很显然多播路由器(支持多播的路由器)需要这些信息以便知道它的多播数据包应该发往那个接口。IGMP作为网络层的一种协议,在IP首部的字段被设置为2。报文格式如下4位IGMP版本号4位IGMP类型8位未用16为检验和32为组播地址 版本号常用的为1时表示是多播路由器发出的查询报文,为2表示主机发出的报告报文。 其次,多播的基础可视为一个进程,该进程在一个主机的给定接口加入一个多播组,但这些.. 阅读全文
摘要:
1,隐藏的print,import属性。 首先我们之前了解过print和import,它依然隐藏着更多的特性。对于Print来说,逗号的作用就很明显,比如print 'age:',42 ,执行后逗号会自动转变为空格使之成为一个连贯的字符串。age: 42. 另外import,把某一事件作为另一事件导入。从模块导入函数时可以用import somemodule,或者from somemodule import somefunction 等。另外可以在语句末增加一个as子句,在该子句后给出名字,或者为整个字句提出别名。例如import math as foobar .foobar. 阅读全文
摘要:
我们知道,如果只是想将值分组到一个结构中,并且通过编号对其引用,那么列表就完全能够做到。 但如果想通过名字来引用具体的值,像函数映射,那就要用到字典了,字典是python中唯一内建的映射类型,字典的值并没有特殊的顺序,但都存储在一个特定的KEY里。 1.创建字典格式: phonebook={'alice':'1233','':'','':'',}.显然字典是有多个键和他相对的值组成的对构成,键和值之间用冒号分开,字典外部由两个大括号标识。 2.基本的字典操作: len(d),返回d中项的数量。 d[ 阅读全文
摘要:
如你所知,简单的网络编程就是称为客户端和服务器的两台主机进行通信。显然通信双方要有一个统一的标识,电话机的比方就很好。这个标识不仅仅是IP地址或者端口号,我们可以将二者结合起来。称之为套接字,socket。在网络编程中socket无疑是关键的部分,因此网络编程也常常被叫做socket编程。 叫什么不重要,重要的是原理。本文的目的也正是这样,我们试图搞懂它。 为了减少篇幅,关于协议,TCP,UDP,ISO七层模型等,这些基础知识这里就不做说明了。我们采用的是客户/服务器的模式。又客户对服务器做出通信请求,而服务器对其响应。另外本文的所有程序都可以在vc6.0中实现。 首先我们先... 阅读全文