随笔分类 -  技术书籍阅读

摘要:1、TextOut( hdc, x, y, psText, iLength); 是最常见的文本输出函数。它向client area输出一段文本。psText是指向字符串的一个指针,iLength代表字符串的长度。x和y分别代表文本输出的起始位置。hdc代表handle to a device context。 2、获取Device context handle 方法一: hdc = Be... 阅读全文
posted @ 2012-03-01 17:05 qi09 阅读(2522) 评论(0) 推荐(0)
摘要:字符的发展史1、最初的字符集ASCII码,128个字符。2、扩展ASCII码,共有256个字符。3、双字节字符集(DBCS:double-byte character set)。DBCS从256编码开始,最初的128个代码是ASCII,较高的128个代码中的某些总是跟随着第二个字节。这两个字节一起(称作首字节和跟随字节)定义一个字符,通常是一个复杂的象形文字。双字符集问题并不是说字符由两个字节代表。问题在于一些字符(特别是ASCII字符)由1个字节表示,而另一些字符由两个字节表示。4、Unicode编码中每个字符占用16个字节,它是一套全球化的编码方案,包括世界上所有的象形符号。然而Unico 阅读全文
posted @ 2012-03-01 14:43 qi09 阅读(442) 评论(0) 推荐(1)
摘要:Windows程序设计学习第一篇,编写我的第一个Windows程序。 1 /*********************************** 2 HelloMsg.cpp--Displays "Hello Windows 7!" in a message box 3 (c)qi09, 2012 4 ************************************/ 5 6 #include <windows.h> 7 8 int WINAPI WinMain( 9 HINSTANCE hInstance, 10 HINSTANCE hPrevIns 阅读全文
posted @ 2012-02-21 11:49 qi09 阅读(354) 评论(0) 推荐(0)
摘要:栈的本质是一个表,但它限制插入和删除只能在一个位置上进行。这个特殊的位置是表的末端,叫做栈顶(top)。栈的基本操作有Push和Pop两种。这里有两种比较流行的栈的实现方式:一种是用链表实现,另一种是用数组实现。这里,我们先给出链表实现的c源码。stackList.h头文件定义如下。具体内容可参见《数据结构与算法分析:c语言描述》第三章。 1 #ifndef _STACK_LIST_H 2 #define _STACK_LIST_H 3 4 typedef int ElementType; 5 typedef struct _Node 6 { 7 ElementType Element; 8 阅读全文
posted @ 2011-06-01 20:24 qi09 阅读(3356) 评论(0) 推荐(1)
摘要:表是一种常用的数据结构,它支持的基本操作有插入和删除。最基本地可以用数组来实现表结构,但因为数组中的数据都是连续存储的,若动态指定数组,会造成空间的浪费。而且在有序插入删除操作时,都需要调整元素在数组中的位置,因此,一般不使用数组来实现表结构。一般来说,使用链表来实现表结构。下面的程序中写了16个常用的链表函数,它源于http://www.bccn.net/Article/kfyy/cjj/jszl/200708/5227_2.html这篇文档,但上述文档中实现的是一个无表头的线性表结构。本文中对上述程序稍作修改,实现了一个有表头的链表结构。具体代码如下: 1 /* 2 * linear li 阅读全文
posted @ 2011-05-31 11:25 qi09 阅读(437) 评论(0) 推荐(0)
摘要:一、堆排序思想假定我们要排序的内容存放在数组中,希望按照从小到大的顺序排列。此时需要一个(max)heap协助。首先,把数组中的内容构建成堆。那么,堆顶的数即为数组的最大值。其次,删除堆顶,并且对堆重新排序,直至堆中的数都被删除。依次删除的值即为从大到小排序。具体的算法思想参见《数据结构与算法》一书,7.5节内容。二、c代码实现#include <stdio.h>#include <stdlib.h>#define LeftChild(i) (2 * ( i ) + 1)typedef int ElementType;void Swap(ElementType *x, 阅读全文
posted @ 2011-05-28 21:49 qi09 阅读(569) 评论(0) 推荐(0)
摘要:FILE * fopen(const char * pathname, const char * opentype); 打开由pathname指定的文件并创建一个与之相连的流。   int fclose(FILE * stream); 打开的流通过fclose函数来关闭,在流被关闭前,所有缓冲区的输出将被写出,所有缓冲区的输入将被丢弃。 FILE * freopen(const ... 阅读全文
posted @ 2010-09-07 21:08 qi09 阅读(539) 评论(0) 推荐(0)
摘要:-I dir 在头文件的搜索路径列表中添加dir目录       由于Linux中头文件都默认放到了/usr/include目录下,因此,当用户希望添加放置在其他位置的头文件时,就可以用-I dir来指定。此处的I可以理解为“Include” -L dir 在库文件的搜索路径列表中添加dir目录     ... 阅读全文
posted @ 2010-09-02 18:32 qi09 阅读(331) 评论(0) 推荐(0)
摘要:读此书第一章,重新学习理解几个专用术语,所谓温故知新。 1、进程       从用户角度看,进程是程序的一次执行,是正在运行着的程序。从UNIX系统内部来看,进程是运行程序并为程序提供执行环境的实体,是系统进行资源分配和调度运行的一个独立单位。具体的,进程有以下三点:1)进程有一个控制点和自己的独立地址空间。进程的控制点通过程序计数器跟踪着程序... 阅读全文
posted @ 2010-08-31 10:16 qi09 阅读(208) 评论(0) 推荐(0)