自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

认知 行动 坚持

涛哥不知何许人也,亦不详其姓字。闲静少言,不慕荣利。好读书,求甚解。常著文章自娱,颇示己志。忘怀得失,有始有终...

  • 博客(42)
  • 资源 (19)
  • 收藏
  • 关注

原创 PROGRAMMING IN C++ Nell Dale Chip Weems

书评:        书很不错,英文版的,非常基础,适合C++入门者,也适合做教材,但不适合想深入学习C++的读者。        当然,如果你有一定的C或者C++基础,但英语比较差,我非常真诚地跟你说,这本书绝对比你的英语教材要好。当然,如果你没有C或者C++基础,英语又比较菜,建议别看这本书(千万别问我有没有中文版的)。        今天,同学要搬家了,扔下了PROGRA

2013-06-23 23:16:47 8461 1

原创 《信号与线性系统分析》 吴大正 (与电子、通信专业的同学共勉)

书评: 我发现了一个有趣的现象,在中国,理论或技术方面的“教材”,那根本就称不上教材,顶多相当于一个供查阅用的手册。说实话,我承认,书的作者的确搞懂了那些知识,但是,有多少作者真正从读者的角度出发来写书呢?少,很少,相当少。像谭浩强老师写C语言教材那样专心写书的人,有,但几希,几希(我知道,看到此处,很多人要鄙视谭老师,顺便会对我拍砖,这些内心极度自负又极度自卑的人,我懒得理你们

2013-06-23 20:32:38 27913 7

原创 Google Protocol Buffer(GPB)使用之完全解析三:如何使用GPB?

下面,我们来介绍一下如何使用GPB, 首先说明一下,我使用的环境是Windows XP + VS2005, 所用语言是C++, 如果你的环境不同,请参阅其它相关资料。其实,无论什么环境,都是大同小异的,即使环境不同,你也可以采用与下面类似的步骤来进行操作。下面,我们来介绍如何使用GPB.1. 到http://code.google.com/p/protobuf/downloads/li

2013-06-23 14:30:58 14435 1

原创 Google Protocol Buffer(GPB)使用之完全解析二:有了GPB的日子怎么过?什么是GPB?

通过前面博文的学习,我们知道:没有GPB,客户端的日子很难过,现在略作回顾,没有GPB的日子是这样的:#include #include using namespace std;int main(){ int id = 123456; // 字段id char str[] = "hello world"; // 字段str // 服务端:把数据写到"log服务器"中

2013-06-23 13:45:49 12865 1

原创 Google Protocol Buffer(GPB)使用之完全解析一:没有GPB的日子怎么过?

最近,我打算介绍一下一个好用的工具,即Google Protocol Buffer(GPB)的使用,这真的是一个非常有用的工具,你应该学它,并熟练使用它。 通常来讲,应该先介绍GPB是什么,但是,在这篇文章里,我并不打算介绍什么是GPB, 而是用浅显的例子来说明:如果没有GPB, 会怎么样? 要看一个东西的作用或价值,可以看去掉这个东西后,我们损失了什么,那么,

2013-06-22 23:19:43 10868 1

原创 fprintf和fwrite的一点“怪异”现象

我们先来看一个简单的程序:#includeint main(){ int a = 0; int len = sizeof(a); // 相当于在log1中以文本文件方式输入0 // 文件对应的比特串实际为00110000 FILE *fp1 = fopen("log1", "w"); fprintf(fp1, "%d", a); fclose(fp1); // 文

2013-06-22 22:14:17 8587

原创 二进制文件一定比文本文件节省空间吗?

看程序:#includeint main(){ int a = 9; int len = sizeof(a); FILE *fp1 = fopen("log1", "w"); fprintf(fp1, "%d", a); fclose(fp1); FILE *fp2 = fopen("log2", "wb"); fwrite(&a, len, 1, fp2); fcl

2013-06-22 19:51:04 10757

原创 C语言中的路径:/和\\ 都正确 (内附 mkdir 函数的用法)

以前,在C语言中,我经常用的路劲符号是\\, 例如:#include #include int main(){ mkdir("folder"); // 在当前目录下建立一个folder文件夹 FILE *fp = fopen("folder\\file.txt", "w"); fprintf(fp, "hello world"); fclose(fp); return

2013-06-21 17:39:54 15985 1

原创 小心内存被啃掉了

运行下面这个程序试试,你就知道了(温馨提示:该程序不会对你的计算机造成伤害)。#include using namespace std;int main(){ int *p; while(1) { p = new int[1024 * 1024]; // 每次损失4MB } return 0;}

2013-06-20 17:39:02 7307

原创 突然有点怀念自己的初恋:Borland的Turbo C 2.0

现在,大家学C语言,至少也应该用VC++6.0或其它的IDE了,不知道有没有学校还在用那个TC2.0. 当年,读大学的时候,我就是用TC2.0, 开始阶段很痛苦,因为不用鼠标不习惯(其实,完全可以自己在.c文件中编写好程序,然后用TC2.0来load进去,不需要每次都在那个蓝色的屏幕中编辑程序),后来接触了VC++6.0,更是对TC2.0鄙夷不已,对选择用TC2.0进行教学的老

2013-06-20 16:44:26 8690

原创 《PowerPoint 2007完全掌握》 蔺丹 (感叹一句:花钱买时间,物超所值!)

书评:        书很基础,都是一些傻瓜式操作,图文并茂,让读者每一步都能实现,适合ppt入门,还算不错啦。但是,书买回来,感觉书是很旧了啊,难道是ppt2007就应该很旧?另外,书的光盘送错了啊,也不知道是咋搞的,反正,对我来说,光盘几乎没啥用。       一直感觉自己的ppt做得不好看,也没有打算自己去深入琢磨,ppt很简单也很傻瓜,不值得花太多时间去琢磨,所以,买一本傻

2013-06-15 14:48:40 7767

原创 图的邻接表表示法及顶点入度、出度的计算方法

设图为: 则图的邻接表为: 下面,我们看看程序:#include #define VERTEX 4using namespace std;// 边表结点typedef struct node{ int index; struct node *next;}Node;// 顶点表结点typedef struct vertex

2013-06-12 14:57:22 75857 18

原创 图的邻接矩阵表示法及顶点入度、出度的计算方法

设图(graph)的结构为: 下面,我们来建立这个图, 并求出各个顶点的入度和出度,程序如下:#include #define MAX_VERTEX 20 // 最大顶点数#define VERTEX 4 // 实际顶点数using namespace std;typedef struct{ int n, e; // 顶点数和边数 int

2013-06-12 13:15:19 42461 6

原创 AVL树(考研的同学需要注意其定义)的判定(某公司2012年校园招聘笔试题目)

平衡二叉树又叫AVL(人名的简称)树,在不同的教材中,对AVL树的定义是不同的。考研指定的教材是严奶奶编写的教材,我们来看看该书上(P233)是如何定义的: AVL树或者是一棵空树,或者满足以下条件: (1). 其左子树和右子树都为AVL树 (2). 左子树和右子树的高度之差的绝对值不超过1 然而,有很多教材不是这么定义的,而是把

2013-06-11 21:28:35 9947

原创 BST中所有结点之和(设结点个数为n,且中序遍历为等差数列)

其实,就是要求最小值和最大值之和, 程序如下:#include using namespace std;// BST的结点typedef struct node{ int key; struct node *lChild, *rChild;}Node, *BST;// 在给定的BST插入element, 使之称为新的BSTbool BSTInsert(Node * &

2013-06-09 23:14:36 8112

原创 从小到大输出二叉排序树(BST)所有结点的值

BST的中序遍历即为严格单调的遍历,故求中序遍历即可,程序如下:#include using namespace std;// BST的结点typedef struct node{ int key; struct node *lChild, *rChild;}Node, *BST;// 在给定的BST插入element, 使之称为新的BSTbool BSTInsert(N

2013-06-09 22:55:46 13713 2

原创 二叉排序树(BST)的查找算法(非递归算法)

#include using namespace std;// BST的结点typedef struct node{ int key; struct node *lChild, *rChild;}Node, *BST;// 在给定的BST插入element, 使之称为新的BSTbool BSTInsert(Node * &p, int element){ if(NULL

2013-06-09 22:48:53 10787 1

原创 二叉排序树(BST)的查找算法(递归算法)

#include using namespace std;// BST的结点typedef struct node{ int key; struct node *lChild, *rChild;}Node, *BST;// 在给定的BST插入element, 使之称为新的BSTbool BSTInsert(Node * &p, int element){ if(NULL

2013-06-09 22:32:30 23699 2

原创 二叉排序树(BST)的判定(其实不容易)

对于BST,一定要理解透彻,下面,我们给出一个有错误的BST判定程序:// 程序中的isBST函数的逻辑是有错误#include #define N 7using namespace std;// BST的结点typedef struct node{ int key; struct node *lChild, *rChild;}Node, *BST;// 在给定的

2013-06-09 22:08:08 13578 9

原创 二叉排序树(BST)/二叉查找树的建立(BST是笔试面试的常客)

二叉排序树又叫二叉查找树,英文名称是:Binary Sort Tree. BST的定义就不详细说了,我用一句话概括:左 。 根据这个原理,我们可以推断:BST的中序遍历必定是严格递增的。 在建立一个BST之前,大家可以做一下这个题目(很简单的): 已知,某树的先序遍历为:4, 2, 1 ,0, 3, 5, 9, 7, 6, 8. 中序遍历为: 0, 1, 2

2013-06-09 19:49:03 88418 20

原创 fflush函数有什么作用?

说明: 有的朋友对本文的程序结果提出质疑,所以这里说一下,我是在Windows VC++6.0上测试的, 请注意平台和环境的不同。 先来复习一个简单单词吧:flush(注意只有一个f):冲洗,冲刷,冲掉。 例句:I flushed the toilet and went back to work again. 下面,我们来看看一个...

2013-06-09 12:39:27 68009 27

原创 去掉字符串中的所有空格

要去掉字符串中所有的空格,思路很自然:碰到一个空格,将其删掉,然后后面的字符前移,但当空字符比较多的时候,总这么移动,难道不复杂么?还是想想另外的办法吧。 上面的方法时间复杂度比较高,下面,我们用空间来换时间:#include using namespace std;void deleteAllSpace(char str[]){ int len = strlen(

2013-06-09 11:35:29 12875 1

原创 如何利用.bat文件来对其它众多文件进行批量改名?

批处理代码如下:@echo offset /a total=0set prefix=MYfor %%m in (*) do (if not "%%m" == "myBat.bat" ( ren %%m %prefix%%%m set /a total=total+1 ))echo 共有%total%个文件被改名set total=set prefix=

2013-06-07 15:18:39 17177 2

原创 设计Windows shell中set 命令的人应该好好反省一下自己(用set处理串时请注意空格)

下面,我们仍讨论批处理命令,先看一个简单的set的应用例子:@echo offset /a sum = 0echo sum is %sum%set /a sum = sum + 1echo sum is %sum%set /a sum = sum + 1echo sum is %sum%set sum =       上面这个程序是没有问题的。但是,下面,我们来

2013-06-07 15:01:25 9298 2

原创 .bat文件中for的用法

for是批量处理的一个关键,如下:@echo offset /a total = 0for %%x in (*.pdf) do ( echo %%x echo. set /a total = total + 1)echo %total%个pdf文件       上面程序的作用是统计目录中.pdf文件的个数。在用for的时候,千万要注意:do和(之间必须有空格,否则错误。

2013-06-06 22:23:58 11074 1

原创 .bat文件中set和setlocal的用法

set功能很强大的,如下:@echo offset xxx = "hello world"set xyz = "batch"set xset xxx =set xset xyz set x       其中set xxx = "hello world" 是定义变量,并把其值设定为"hello world". set x 是查询所有以x开头的变量,set xxx = 表示删

2013-06-06 21:15:09 22657 8

原创 .bat文件中if的用法

在C语言中,语法是非常灵活的,if 语句写起来非常自由,换行与不换行,括号放在哪里,都由程序员自己决定,但是,在.bat文件中,if 的使用就没有那么自由了,一旦括号格式不对,就会出错,我们先来看看if吧@echo off if exist 1.txt (echo yes) echo 程序员 > 1.txt if exist 1.txt echo yes echo 程序员

2013-06-06 20:13:45 29303 1

原创 .bat文件中call命令的用法

我们首先来复习一下goto命令,如下:@ echo offgoto labelecho 1echo 2:labelecho 3echo 4 输出结果为:34 下面,我们来学学call, 如下:@ echo offcall :labelecho 1echo 2:labelecho 3echo 4 首先,

2013-06-06 18:45:07 41891 6

原创 .bat文件中start, pause,goto以及rem的用法

我们先来看start, 其实start就是启动,我以前经常用matlab中的system来启动.exe文件,下面我们用start来启动.exe, .bat文件内容如下:@ echo offstart calcstart calcstart calc 结果,连续启动了三个计算器。 另外,start也可以用来打开一个文件夹,如:@ echo offm

2013-06-06 17:30:50 54376 1

原创 .bat文件中echo和@的用法

在F盘建立一个名称为myFile的文件夹, 把Windows系统的cmd.exe复制到myFile文件夹下,并在myFile中建立myBat.txt文件,改名为myBat.bat, 右击myBat.bat文件,选择文本文件的方式打开,进行编辑。以后,我就不再介绍这个简单的过程了。 在这篇文章中,我们将介绍echo的用法。我们先来复习一下这个单词吧。echo : 回声。例句:

2013-06-06 16:46:23 62567

原创 Windows批处理命令入门

首先,我们来复习一个简单的单词:batch : 批。  例句:A batch of new books arrived yesterday.       为了简便起见,不进行盘符切换,我在F盘建立了一个文件夹,名为myFile, 把Windows系统的cmd.exe复制到myFile中,双击cmd.exe, 并进行如下输入,得到如下结果:Microsoft Wi

2013-06-04 22:23:38 9366 1

原创 我喜欢用的Windows快捷键

Windows快捷键很多,随便查查资料都可以看到几乎所有的快捷键,但是,我感觉有些快捷键不需要记忆(一些操作根本不常用,而且用鼠标又很好操作,何必要去用快捷键)。下面,仅列出我个人喜欢用的快捷键:常见用法快捷键作用F1  显示程序或系统帮助内容F2  重新命名所选项目

2013-06-04 17:00:55 8195

原创 Windows命令行的使用

在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。 Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。 为了方便,免得进行盘符切换,我在F盘建立了一个文件夹,名称为myFile, 把Windows的cmd.exe复制到myFile文件夹中,双击cmd.ex

2013-06-04 15:41:06 41412 3

原创 如何利用C语言中的qsort库函数实现快速排序?

之前,我们已经写过快速排序的程序,而在C语言的库函数中就有快速排序的库函数,即为qsort, 其用法如下:功 能: 快速排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数:1 待排序数组首元素的地址2 数

2013-06-03 22:21:30 48160 14

原创 求数组中n-1个元素的乘积的最大值(某公司2007年校园招聘笔试试题)

原题只要求写思路,不要求写程序,但要分析算法的时空复杂度,下面我们来看看如何解决这个问题: 方法1:直接翻译题意,将n-1个元素的积求出来,然后求最大值,当然,这是最笨的方法,Google当然不欣赏这种做法:#include #define M 10#define N 5using namespace std;int a[M][N] ={ {-6, -5,

2013-06-03 15:28:29 8688 5

原创 汇编语言编辑、汇编、连接、运行的全过程

为了理解汇编语言的编辑、汇编、连接、运行的全过程,我们不使用IDE,而是分步骤来进行: 需要工具: 1. 文本编辑器(如果有Notepad++或者UltraEdit就更好了) 2. 汇编器(如MASM.exe) 3. 连接器(对应的link.exe) 为了省略盘符转换,我在电脑的F盘

2013-06-02 19:24:48 38791 7

原创 汇编语言入门(在debug中编辑和调试程序)

我们在Windows中进入的Dos方式,实际上是虚拟8086模式的Dos,方法是:点击“开始”,“运行”,输入"command",点击“确定”, 可以看到弹出一个黑色的框框,然后,在黑色的框框中输入相关信息,如图所示(提前说一句,汇编语言对大小写不敏感,而C语言对大小写敏感): 下面来具体分析一下: 1. debug是一个调试工具(虽然可以在debug

2013-06-02 17:09:18 24769 4

原创 VC++6.0常用快捷键及对快捷键使用的看法

很多软件都提供了鼠标操作对应的快捷键,为什么要快捷键呢?因为快捷键可以很快捷。但是,通常来讲,快捷键能做到的,鼠标基本都可以做到,但鼠标能做到的,却不一定有对应的快捷键。 我们很熟悉word软件, word中有一些基本的快捷键,比如最常用的Ctrl + c和Ctrl +v, 这些快捷键用起来确实非常方便。但是,我认为,任何事情过犹不及,不要为了使用快捷键而使用快捷键,有些快捷键不

2013-06-01 18:49:48 11648 1

原创 一个最简单的MFC应用程序

建立工程  : 在VC++6.0中建立一个名为Test的单文档MFC应用程序,并编译、连接、运行。       运行结果  : 产生一个华丽丽的窗口。       疑问          : 一行代码没写,怎么出来这么个东西呢?       解答          : 这就是MFC AppWizard的强大之处。       MFC AppWizard自动产生了不少

2013-06-01 14:47:48 10290 1

原创 什么是 MFC AppWizard?

先来复习两个单词吧:witch     : 女巫wizard  : 男巫            下面看看维基百科对计算机中的wizard的描述:       A software wizard or setup assistant is auser interface type that presents auser with a sequence of dia

2013-06-01 14:24:18 11638 1

ipscanner.rar

获取网络的ip, host name和mac地址。我想免费让大家下载, 但csdn规定了必须设置积分, 没办法。

2017-12-01

linux protobuf安装文件

linux, google protobuf, 安装文件。 使用方法:http://blog.csdn.net/stpeace/article/details/53029812

2016-11-04

linux tree命令的源码

很多linux上没有tree命令, 该资源提供了tree命令的源码, 大家可以下载, 编译并安装, 具体请参考:http://blog.csdn.net/stpeace/article/details/49524273

2015-11-01

编译好的openssl库和头文件

编译好的openssl库, 欢迎使用, 具体使用方法, 请见http://blog.csdn.net/stpeace/article/details/41921287

2014-12-14

入门数据库sqlite3的最佳实践资料

入门数据库sqlite3的最佳实践资料, 里面是我打包好的程序, 附加一些数据库工具, 非常可以。 当然你也可以参考我的博文http://blog.csdn.net/stpeace/article/details/38503843

2014-08-12

Wireshark抓包工具

Wireshark抓包分析工具, 非常好用, 非常实用。

2014-06-08

优秀的截图软件

截图软件fast stone. 解压即可使用。 解压后, 可能会产生一些依赖性文件, 请不要轻易删除。

2014-05-25

获取网卡信息所需的头文件和库

获取网卡信息所需的头文件和库:IPEXPORT.H Iphlpapi.h IPHLPAPI.LIB IPRTRMIB.H IPTYPES.H

2013-10-19

哈希值计算软件

可以计算md5, sha1, sha256等哈希值的工具软件,我无法形容它的优秀。

2013-10-18

在Windows下学习Linux命令

在Windows下想学linux命令的同志,你终于找到了该资料。用法:解压,然后双击其中的cmd.exe, 然后就可以输入linux命令了,比如ls等(千万要注意,不要进行路径切换,否则linux命令就执行不了,总之,要确保相应文件在当前目录下)。

2013-08-08

计算机网络第5版谢希仁编配套光盘资料

计算机网络第5版谢希仁编配套光盘资料,这是计算机考研的指定教材对应的资料,你应该拥有它。

2013-07-19

OllyDBG反汇编工具

OllyDBG反汇编工具,非常强大。深化功底,需此工具。

2013-07-19

masm汇编器

微软的汇编器,其中有关键的masm.exe和link.exe,我试过,发现可用。

2013-07-19

word转pdf的插件

word转pdf的插件,直接安装即可,安装完后,“另存”word文档的时候,可以选择pdf(我用的word版本为2007)。

2013-07-18

音频处理软件Gold Wave

一款强大的音频处理软件,可以对音频进行各种处理。例如:如果你在准备某考试,需要听音频资料,但是,你嫌音频太慢,而且你的MP3播放器无法加速,那么你可以用该软件对音频本身进行加速,即改变音频本身,使之变快。另外,在处理的时候,可以实现批处理(我亲自实践过,发现可行)。

2013-07-17

H.264visa软件

一款非常强大的H.264视频码流的解析软件,可以看到解码后视频的像素值,运动矢量,宏块等非常多的信息(也可以打开原始的YUV视频,并看到像素值,但必须先用该软件打开某一H.264视频码流),比Elecard StreamEye软件(有bug)更为强大,我一直用H.264visa,目前没有发现有什么bug. 另外,该软件安装后1个月就会过期,没有关系,1个月后,你重新安装一次即可。

2013-07-13

Elecard StreamEye

Elecard StreamEye,一款分析H.264视频码流的工具,如果你在学习H.264,那么,你应该拥有它。

2013-07-13

YUVviewer :原始的YUV视频的播放器

原始的YUV视频的播放器(软件不是我写的),如果你做视频处理、视频压缩编码、视频通信、视频检索、视频取证,那么你很可能需要它。该软件的缺点是:你无法看到YUV视频的像素值。

2013-06-24

经典的C语言编译器:TC2.0

一款经典的C语言编译器:Borland Turbo C 2.0. 怀念Borland产品的人可以用一下,体验一下DOS下的编程。如果是C语言初学者,建议用MS的VC++6.0. 我试过,该TC2.0可以正常使用。

2013-06-23

空空如也

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

TA关注的人

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