- 博客(44)
- 问答 (1)
- 收藏
- 关注
转载 基于应用层DDoS攻击的剖析与防御
应用层DDoS攻击分析1.Net-DDoS攻击与App-DDoS攻击按攻击所针对的网络层次可以把DDoS攻击分为:网络层DDoS(Net-DDoS)攻击和App-DDoS攻击。Net-DDoS攻击主要是利用了现有低层(包括IP层和TCP层)协议的漏洞来发动攻击。典型的攻击方式是:使用伪造IP地址的攻击节点向目标主机发送大量攻击分组(TCP、ICMP、UDP等分组),利用TCP的三次
2014-10-29 22:51:21 4108
原创 Effective C++之‘宁以pass-by-reference-to-const替换pass-by-value’
Effective C++之‘宁以pass-by-reference-to-const替换pass-by-value’缺省情况下C++以by value 方式(一个继承自C的方式)传递对象至函数。除非你另外指定,否则函数参数都是以实际实参的复件(副本)为初值,而调用端所获得的亦是函数返回值的一个复件。这些复件(副本)由对象的copy构造函数产出,这可能使得pass-by-value成为费时
2014-10-21 16:25:36 1654
原创 笔试题---消除多余的空格
笔试题目:如果输入一个字符串" lan zhihui is a good boy! ",现在需要去除字符串首位的空格,每个单词之间留一个空格,即返回"lan zhihui is a good boy! "。#includeusing namespace std;void fun(char a[],char b[]){ int len=
2014-10-19 20:33:01 1476
原创 组合类构造函数、析构函数详解
组合类:组合类的概念就是:指在一个类的数据成员中含有一个或多个类的对象,拥有这样结构的类就叫组合类。这种以数据成员身份出现的类对象就叫子对象。继承和组合都可以实现一个类重用另一个类的行为功能,那么如何选择用组合类还是用继承?当B与A属于同一类的范畴,并且B"is a kind of"A,一般应该把B设计为“继承”A;而如果B与A不属于同一类范畴,但是B"is a
2014-10-18 16:25:47 10164
原创 派生类的构造函数与析构函数
派生类的构造函数与析构函数:派生类不能继承基类的构造函数和析构函数,必须自己定义。由于派生类与基类的特殊关系,在设计派生类的构造函数时,不仅要考虑派生类新增数据成员的初始化,也要考虑基类数据成员的初始化。派生类的数据成员由所有基类的数据成员和派生类新增的数据成员共同组成,因此,构造派生类的对象时,必须对这些数据成员进行初始化。派生类构造函数初始化的执行顺序:先调用基类构造函数初始化
2014-10-18 14:27:23 1016
原创 const成员函数总结
const 成员函数:类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表
2014-10-17 15:39:30 1222
原创 const指针总结
const 总结:如果关键字const出现在星号左边,表示被指物是常量;即不能通过指针修改变量的值。如果关键字const出现在星号右边,表示指针自身是常量;即不能改变指针的指向。如果被指物是常量,会有两种形式:int a=3,b=4;const int* p=&a;int const *p=&a;这两种形式等效。具体举例见:const指针
2014-10-16 17:24:50 965
原创 getline gets cin.getline cin.get分析详解
1.cin的输入char a[10],b[10];cin>>a>>b;//每个数组以空格或者换行结束输入,只要字符个数不越界,正常输入输出cout
2014-10-14 16:32:22 864
转载 编程规范
第一部分 C语言编程规范在通信类软件中,C语言是常用的编程语言。在编写C语言程序的过程中,我们需要遵守的编程规范包括:1. 程序的版式和注释在C语言程序中,一般都包括了头文件(.h文件)和源文件(.c文件),它们的版式及注释如下:第一,头文件的版式和注释。头文件起到了一个辅助的作用,简要地反应出本程序的基本功能。头文件的内容包括:宏定义、结构体定义、函数的声明等。头文件的版式可
2014-10-14 00:56:37 984
原创 字符串函数---memcpy()&memmove()大探秘
一、memcpy()函数详解1.函数原型memcpy():void *memcpy(void *dest,const void *src,size_t count);dest:新缓冲区。src:复制的缓冲区。count:要复制的字符数。说明:如果源和目标字符串重叠,则 memcpy 的行为未定义。2.函数测试(1)通过以下例子可以看到,memcpy()函数将数组a前
2014-10-12 21:45:25 1562 1
原创 一道笔试题目
题目描述:编写一个函数,输入一个正整数n,返回一个最小的正整数m(m至少包含两位数),使得m的各位乘积等于n,如果某个n不存在这样的m,则返回-1,例如:输入:12输出:26输入:100输出:455输入:7返回:17#includeusing namespace std;int func(int n){ int num=0; int s; in
2014-10-11 21:51:01 1787
原创 字符串函数---atoi()函数详解及实现(完整版)
atoi()函数atoi():int atoi(const char *str );功能:把字符串转换成整型数。str:要进行转换的字符串返回值:每个函数返回 int 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值,则atoi的返回值为 0。说明:当第一个字符不能识别为数字时,函数将停止读入输入字符串。
2014-10-11 16:14:07 106020 3
原创 字符串函数---atof()函数详解及实现(完整版)
atof()函数atof():double atof(const char *str );功 能: 把字符串转换成浮点数str:要转换的字符串。返回值:每个函数返回 double 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值,则返回值为 0.0。函数说明 :atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,
2014-10-11 10:34:47 63558 8
原创 统计文件中每个小写字母的个数
题目:有一个文件a.txt,里面含有很多小写英文字符,请统计每个字符的个数,并输出。#include#include using namespace std;int main(){ char a[10]; int s[26]={0}; //以下读取磁盘文件中的数据 ifstream in_ran; in_ran.open("F:\\new\\a.tx
2014-10-10 21:09:13 2807
原创 linux学习之八---Linux进程基础知识
一、linux进程linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机;多任务是指linux可以同时执行几个任务。进程简单来说就是运行中的程序,Linux系统的一个重要特点是可以同时启动多个进程。根据操作系统的定义:进程是操作系统资源管理的最小单位。1.Linux进程的概念进程是一个动态的实体,是程序一次执行过程,并且进程是操作系统资源分配的基
2014-10-10 16:53:53 1550
原创 字符串函数---itoa()函数详解及实现
itoa()函数itoa():char *itoa( int value, char *string,int radix);原型说明:value:欲转换的数据。string:目标字符串的地址。radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。功能:将整数value 转换成字符串存入string 指向的内存空间 ,radix 为转换时所用基数(
2014-10-10 11:59:25 100111 2
转载 linux学习之七---文件操作
Linux的文件操作API涉及到创建、打开、读写和关闭文件。1.linux API 创建int creat(const char *filename, mode_t mode); 参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中umask代表了文件在创建时需要去掉的一些存取权限。u
2014-10-10 00:14:02 812
原创 linux学习之五---条件编译
条件编译一般情况下,源程序中所有的行都会被编译。有时,我们希望程序中某一部分只在某个条件不成立或成立时才去编译,也就是对一部分内容指定编译的条件,这就是条件编译。条件编译使用范式范式一:#ifndef 标识符程序段1#endif其含义是:如果没有定义标识符,就编译程序段1,否则不编译程序段1。(范式一主要应用于确保文件多次包含仍能安全工作,使用该范式可以
2014-10-08 20:42:38 1977
原创 linux学习之四---gdb调试
在Linux应用程序开发中,最常用的调试器是gdb。一、启动和退出gdbgdb调试的对象是可执行文件,而不是程序的源代码。如果要使一个可执行文件可以被gdb调试,那么使用编译器gcc编译时需要加入-g选项,-g选项告诉gcc在编译时加入调试信息,这样gdb才可以调试这个被编译的程序。1.编译test.c源程序gcc -g test.c -o test./testte
2014-10-07 16:07:24 1984
原创 字符串函数---strcmp()与strncmp()详解及实现
一、strcmp()与strncmp() strcmp():strcmp(s1,s2); 比较两个字符串。 strncmp():strncmp(s1,s2); 比较两个字符串前n位 比较规则:从左到右逐个字符进行比较(ASCII值),直到出现不同的字符或遇到'\0'为止。 如果全部的字符相
2014-10-06 16:56:34 28424
原创 字符串函数---strcat()与strncat详解及实现
一、strcat()与strncat() strcat():strcat(dest,src); strcat把src所指向的字符添加到dest结尾处(覆盖原dest结尾处的'\0'),并添加新的'\0'。 说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。 str
2014-10-06 15:53:35 36915 7
原创 字符串函数---strcpy()与strncpy()详解及实现
一、strcpy()与strncpy()strcpy():strcpy(dest,src); strcpy把src所指向以'\0'结尾的字符串复制到dest所指的数组中,返回指向dest的指针。当sizeof(dest)>=sizeof(src)时,拷贝正确,并在dest字符串后面加入'\0';当sizeof(dest)strncpy():strncpy(dest,src,
2014-10-06 13:20:37 31020 3
原创 linux学习之三---gcc编译过程
gcc编译过程:在使用gcc编译程序时,编译过程分为4个阶段。(1)预处理(2)编译(3)汇编(4)链接Linux程序员可以根据自己的需要让gcc在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为今后的调试做好准备。和其他常用的编译器一样,gcc也提供了灵活而强大的代码优化功能,利用它可
2014-10-05 20:40:26 1082
原创 生成随机数的方法
ji'chu 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意:小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据
2014-10-04 16:06:41 769
空空如也
使用C++利用POST模拟登录某个网站后,如何获取Cookie?
2014-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人