- 博客(70)
- 资源 (13)
- 收藏
- 关注

原创 C++网络编程简单示例 基于socket通信的控制台聊天软件
基于c++的通过socket来连接的控制台聊天软件!中途一直遇到accept没有阻塞的问题,后来发现了是要使用WSAStartup函数来指明使用的版本,要不然就使用不了socket函数!
2014-08-29 00:17:47
1136
转载 Opensll读取X509证书的示例代码
void read_digital_certificate() { CString filename; unsigned char Cert[4099]; unsigned long Certlen; unsigned char *pTmp = NULL; X509 *usrCert = NULL; //
2015-08-31 20:13:58
1313
转载 通过OpenSSL获取证书扩展属性之一:“基本约束”
转载出处:http://blog.csdn.net/yyfzy/article/details/47952817前面通过一系列文章,讲述了如使用OpenSSL解析证书的基本项,现在我们来看看如何获取证书的扩展项。 目前CA中心颁发的证书,都有一些扩展项属性,用来限定证书的用途、提供颁发者信息、以及CRL的下载地址等等。在下图中,红色区域内的属性都为证书的扩
2015-08-31 20:13:09
2805
转载 通过OpenSSL解析X509证书基本项
转载出处: http://blog.csdn.net/yyfzy/article/details/46798965在之前的文章“通过OpenSSL解码X509证书文件”里,讲述了如何使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法。下面我们接着讲述如何通过证书上下文结构体X509,获得想要的证书项。本文先讲述如何获取证书的基本项,后面还有文章介绍如何
2015-08-31 20:11:23
960
转载 通过OpenSSL解析X509证书基本项
转载出处: http://blog.csdn.net/yyfzy/article/details/46798965在之前的文章“通过OpenSSL解码X509证书文件”里,讲述了如何使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法。下面我们接着讲述如何通过证书上下文结构体X509,获得想要的证书项。本文先讲述如何获取证书的基本项,后面还有文章介绍如何
2015-08-31 20:10:26
2417
转载 很经典的GDB调试命令,包括查看变量,查看内存
转载地址:http://www.cnblogs.com/rosesmall/archive/2012/04/12/2444431.html在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:printprint /是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种
2015-08-11 12:04:38
1173
原创 C中的rand函数和srand函数
rand函数和srand函数先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。1、rand(产生随机数)表头文件: #include定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,ran
2015-05-11 09:37:58
597
原创 Mysql使用中的一些记录
1、Mysql系统时间自动获取: 列类型 显示格式 TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD TIMESTAMP(6) YYMMDD TIMESTAM
2015-04-06 21:59:44
360
原创 Linux下安装zlib-实现压缩功能
zlib 程序库是著名的压缩引擎,zlib 也是著名的gzip (GNU zip) 所采用的压缩引擎。 如何安装zlib库? 一、 首先安装zlib,从其官方网站下载最新的源程序,网址:http://www.gzip.org/zlib/。 在然后将下载的文件解压释放到目录。解压后文件夹中自带了合适的makefile: 当使用make命令
2015-04-05 22:20:32
1077
转载 Java实现文件压缩与解压[zip格式,gzip格式]
Java实现ZIP的解压与压缩功能基本都是使用了Java函数重载和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例。zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。Java I/O类库还收录了一些能读写压缩格式流的类。要想
2015-04-05 21:50:24
396
转载 Linux下实现MySQL存储和提取图片
转载于:http://blog.csdn.net/sunrier/article/details/7686464前言: 最近正好在项目中接触到MySQL数据库,无聊时候突然想把照片存储到数据库中,这一想法让我不断的查找资料和编写代码的实践和测试下,今天最终在Linux下实现这一功能. //dbproc.c/****************************
2015-04-04 22:00:53
473
原创 makefile文件和子目录
平常使用小项目的时候,一般就把源文件,头文件放在makefile的同一目录进行编译,但是对于大型的项目,我们会将构成一个函数库的
2015-04-02 11:51:04
741
转载 [转]Linux makefile 教程 非常详细,且易懂
陈皓 (CSDN)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写ma
2015-04-02 09:50:41
326
原创 《Linux程序设计 第四版》之第五章的练习题
1、P168一个完整的终端输出选择菜单的程序。#include#include#include#include#include#include #include #include #include int getchoice(char* ,const char** ,FILE*,FILE*);static FILE* output_stream=(FILE
2014-12-10 11:43:34
928
原创 《Linux程序设计 第四版》之第四章的练习题
1、P128一个获取日期 时间 格式化获取时间 日期 的程序。#include#includeint main(int argc,char** argv){struct tm* time1,*time_trans; //时间数据结构time_t alt;char c_time[128];char* result;char* result1="";time(
2014-12-01 22:25:16
808
原创 《Linux程序设计 第四版》之第三章的练习题
1、P103一个目录扫描程序。#include#include#includeint isAdir(char* path); //判断路径是否是目录类型void printdirs(char* path,int depth) //递归遍历打印文件与目录名{ DIR* dir=opendir(path); struct dirent* dirents; ch
2014-11-24 21:09:52
775
原创 《Linux程序设计 第四版》之第二章的最后练习题
这篇文章是《Linux程序设计 第四版》中的第二章的最后练习题(2.8综合应用), 题目是编写一个CD数据库应用程序, 首先:用两个文件来保存存储的数据,一个是title_file.cdb,一个是column_file.cdb! title_file.cdb里面保存的是唱片的基本信息:拥有如下四个字段: CD的目录编号,标题,唱片类型,作曲家或艺术家; column_fi
2014-11-16 15:10:55
526
原创 虚拟机下CentOS与主机共享文件
装了VM虚拟机后,如果想要从主机上传文件到虚拟机上,或者从虚拟机传送文件到主机上,共享文件夹不失为一个简单便捷的方法。 1、 右键虚拟机,点设置,弹出如下界面,切换到选项,选择共享文件夹,选择总是启用,设置一个主机上的目录!2、设置好后,可以在linux中 /mnt/hgfs中发现我们共享的目录,两机可通过这个目录进行文件共享。注意:在windo
2014-11-13 21:30:28
1131
原创 设计模式之: 迭代器模式
前言 在平常生活当中,我们经常要使用到迭代器,例如在观看一组图片时,我们经常使用遍历的方法观看,我们并不需要具体研究图片的结构,只需要遍历,并且可以将当前的遍历状态记录下来,下次观看时可以从之前的遍历终止点开始继续。 即在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是最重要的是有两点是需要我们去关心的:一是集合内部的数据存储
2014-11-10 10:34:40
531
原创 鸟哥的私房菜—第13章 学习shell script习题答案
最近一直没有写博客,因为一直在看鸟哥的私房菜学习Linux的基本操作和shell script的基本语法,感觉也没什么好写的~ 现在看到第13章了,课后习题觉得还是可以写一下的~一共五道题,都写出来答案了,仅供参考~1、 請建立一支 script ,當你執行該 script 的時候,該 script 可以顯示: 1. 你目前的身份 (用 whoami ) 2
2014-11-08 19:50:58
994
原创 设计模式之: 中介者模式
一、前言平常我们写一个聊天软件,如果我们只是各个客户端之间连接聊天,那估计我们会写的想哭,那如果我们用服务器作为中间媒介,通过服务器来完成转发,群聊等客户端之间的连接,那样我们就可以最大程度的为各个客户端之间解耦,把它们之间的通信方法抽出来单独实现,如图1就是不使用中介媒体的时候的结构图:如图2就是使用我们所说的服务器作为中间媒介的情况的结构图:二、中介模式
2014-11-05 21:02:19
601
原创 最值得关注的10个C开源项目之Webbench源码分析
WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。webbench压测的命令:webbench -c 300 -t 10 url其中
2014-10-27 15:44:37
1586
原创 Linux 进程间通信之信号通信
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数oldactintsigaction(int signo,const
2014-10-27 14:45:57
529
转载 用归并法做外排序
内排序算法我们学了很多,快速排序、冒泡排序等。这些排序的前提是数据量不大,能够全部读进内存里。外排序是指对大数据量进行排序,数据量大到不能全部读进内存里,必须在内存和外存间换进换出进行排序。 最常用的外排序法是归并法。举个例子,对900M的数据进行外排序,但内存只有100M。排序过程:1、将原数据分组进行排序,每组100M,一共9组。排序过程是读100M进内存,对这100M进行内排序(
2014-10-16 11:16:32
495
原创 uint与int数值的比较
最近一段时间太忙了,又要每天笔试面试,又要写专利,实在没时间坐下来好好看会书,平常遇到了些问题也没时间记录下来,当然这都是借口,唉,言归正传,这次想记录的是平常都没有考虑到的一个笔试题中的问题,就是有次同学笔试的时候让我帮忙,问我
2014-10-16 10:45:58
2974
原创 C++中的函数隐藏
只要基类在定义成员函数时已经声明了virtue关键字,在派生类实现的时候覆盖该函数时,virtue关键字可加可不加,不影响多态的实现。容易与隐藏混淆:隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下: 1) 如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。 2) 如果派生类的函数与基类的函
2014-10-08 22:34:12
1095
原创 设计模式之:备忘录模式
前言: 这个国庆,回家不想学习,于是下了个三国志11,玩了好几天,终于从一个只有一个城池,5、6个武将,一两万士兵的刘备,发展成占有半壁江山了,灭了曹操,袁绍等,那在玩游戏的时候,我肯定不能连续几十个小时都不退出游戏,或者说不关机,那我每次肯定都需要保存游戏进度才能下次继续玩,那这就用上我这次要说的备忘录模式了,每次讲记录保存在存档里,下次进入游戏又可以接着上一次继续玩了~
2014-10-07 11:18:33
743
原创 设计模式之: 策略模式
在GOF的《设计模式:可复用面向对象软件的基础》一书中对策略模式是这样说的:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户而变化。组成:(1)Strategy—抽象策略角色: 策略类,通常由一个接口或者抽象类实现。{ 定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,Context使用这个接口调用不同的算法,一
2014-09-29 18:14:13
729
2
原创 C++之如何实现一个不能被继承的类
C++中如何实现一个不能被继承的类?在C#中可以使用sealed,Java中可以使用final来表示一个类不能被继承,而在c++中并没有这个,那我们怎么在c++中实现一个不能被继承的类呢?1、把构造函数设为私有 这是最简单的一种办法了,那就是把构造函数设为私有,因为我们都知道当一个类试图从它那里继承的时候,必定会因为调用基类的构造函数,而基类的构造函数是私
2014-09-24 22:09:46
1106
原创 设计模式之: 观察者模式
观察者模式(Observer)完美的将观察者和被观察的对象分离开。 在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。目标是通知的发
2014-09-24 11:29:32
756
2
转载 JDBC连接MySQL数据库及示例(转),亲测可连~
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的
2014-09-15 22:20:25
402
转载 Windows环境配置Apache+Mysql+PHP
安装和配置1.Apache基本是默认安装,关键是配置,打开安装路径下conf/httpd.conf文件修改相应配置。加入Php支持:配置代码 LoadModule php5_module "c:/PHP/php5apache2_2.dll" AddType application/x-httpd-php .php 默认的Web根目录:
2014-09-15 21:57:23
374
原创 Andriod开发之环境搭建
目前搞Andriod开发的环境有两种,一种是JDK+Eclipse+ADT+SDK开发环境,另一种是Andriod Studio集成开发环境。相对而言,第一种使用的更多更广泛。 先来讲一下第二种环境吧,Andriod Studio集成开发环境是一个新兴的开发环境,目前正处于开发完善过程中,关于此开发环境的介绍如http://developer.android.com/sdk/in
2014-09-13 22:38:26
519
原创 C/C++中STL的容器
一、六种序列容器1、vector 向量 类似一个数组。区别在于: 动态存储、内存耗用更大,因为STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。 优点: (1) 不指定一块内存
2014-09-12 09:52:59
414
转载 KMP算法详解(转)
作者:July。出处:http://blog.csdn.net/v_JULY_v/。引记 此前一天,一位MS的朋友邀我一起去与他讨论快速排序,红黑树,字典树,B树、后缀树,包括KMP算法,唯独在讲解KMP算法的时候,言语磕磕碰碰,我想,原因有二:1、博客内的东西不常回顾,忘了不少;2、便是我对KMP算法的理解还不够彻底,自不用说讲解自如,运用自如了。所以,特再写本篇文章。由于
2014-09-11 22:47:45
370
原创 腾讯2014校园招聘软件开发类笔试试题
腾讯2014校园招聘软件开发类笔试试题考试时长:120分钟一 不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分)1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:()A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA2 下列哪两个数据结构,同时具有
2014-09-07 22:37:44
1566
转载 哈夫曼树与哈夫曼编码
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN) 树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点 的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径
2014-09-07 22:31:14
560
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人