- 博客(35)
- 收藏
- 关注
原创 用MFC编写访问HTTPS程序之忽略无效证书验证
最近需要写一个与HTTPS通讯的APP,但是由于本人是第一次编写这样的网络程序,所以忽略无效证书验证这个问题一直困扰了1-2天,由于在网上的资料基本上都是说同样的问题,但是忽略了一点没有说明的,就是要Query服务器的状态,经过本人不断的查资料,结果终于找到了答案,下面是一些整理
2011-08-18 10:14:51
7363
原创 MFC Radio按钮组的使用例子
<br />首先我们要完成一个功能,在一个添加新用户的场景里,通过Radio按钮来判断用户选择的是管理员还是普通用户。<br /> <br />要使用Radio组的功能首先我们必须作如下设置:<br /> <br />1、2个Radio按钮的ID号不同,但是他们的tab顺序必须是按顺序排列的,这些都可以在Resource.h文件里面查看到。<br /> 如:Radio1 ID:IDC_RADIO_ADMIN<br /> Radio2 ID:IDC_RADIO_USER<b
2010-12-04 09:57:00
10300
原创 赫夫曼树 一些操作
<br />HuffmanTree.h<br /> <br />#ifndef HUFFMANTREE#define OK 1#define ERROR 0typedef void* ElemType;typedef char** HuffmanCode;typedef struct HTNode{ ElemType weight; unsigned int parent, lchild, rchild;}*HuffmanTree;int init_Huffman
2010-10-07 21:37:00
747
原创 孩子兄弟法 建立树和森林
CSTree.h#ifndef CSTREE_H_H#define OK 1#define ERROR 0#define MAX(x,y) (x) > (y) ? (x) : (y)typedef void* ElemType;typedef struct CSNode{ ElemType data; struct CSNode *first_child, *next_sibling;}*CSTree;int init_CSTree(CSTree);int mak
2010-09-23 23:38:00
1883
原创 二叉树 一些操作
<br />BiTree.h<br /> <br />#ifndef BITREE_H_H#define OK 1#define ERROR 0typedef char ElemType;typedef struct BiLNode{ ElemType data; struct BiLNode *lchild; struct BiLNode *rchild;}BiTree;int init_BiTree(BiTree*);int make_node(BiLNode
2010-09-13 22:14:00
463
原创 广义表 一些操作
SString.h#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int sstr_copy(SString, SString);int sstr
2010-09-07 17:19:00
635
原创 十字链表 一些操作
<br />CrossList.h<br /> <br />#ifndef CROSSLIST_H_H#define OK 1#define ERROR 0typedef int ElemType;typedef struct OLNode{ ElemType data; int i, j; struct OLNode *right, *down;}OLNode;typedef struct{ OLNode *rhead, *chead; int mu
2010-09-01 16:03:00
1022
原创 顺序存储 矩阵 一些操作
Matrix.h#ifndef MATRIX_H_H#define OK 0#define ERROR -1#define MAX_DIM_SIZE 8typedef int ElemType;typedef struct{ ElemType *base; //矩阵基地址 int dim; //矩阵维数 int *bounds; //保存维界值。如A[3][2] bounds[0] = 3, bounds[1] = 2 int *constants; //保
2010-08-16 21:51:00
590
原创 MFC 画时钟刻度
首先建立MFC Application 选择 simple document 然后在OnDraw函数里面添加如下代码。void CClockMFCView::OnDraw(CDC* pDC){ CClockMFCDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here //思路:先从圆心画线到每分钟的点上, //然后再用函数画一个无线条颜色的圆盖在上面
2010-08-15 12:38:00
6399
2
原创 KMP算法代码
<br />KMP.H<br /> <br />#ifndef KMP_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int print_nextval(SString, int*
2010-08-12 21:24:00
2089
原创 串的模式匹配算法(求子串位置的定位函数,适合一般字符串定位)
<br />SString.h<br /> <br />#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_index(SString, SString, int);int sstr_
2010-08-11 16:54:00
4227
原创 堆分配串一些操作
<br />HString.h<br /> <br />#ifndef HSTRING_H_H#define OK 0#define ERROR -1typedef struct{ char *ch; int length;}HString;int hstr_assign(HString*, const char*);int hstr_print(HString*);int hstr_length(HString*);int hstr_compare(HStrin
2010-08-11 15:31:00
549
原创 定长顺序串一些操作
SString.h#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int sstr_copy(SString, SString);int sstr
2010-08-10 21:55:00
763
原创 链式队列一些操作
<br />LinkQueue.h<br /> <br />#ifndef LINKQUEUE_H_H#define OK 0#define ERROR -1typedef int type;typedef struct QNode{ type date; struct QNode *next;}QNode;typedef struct{ QNode *front; QNode *rear;}LinkQueue;int init_linkQueue
2010-08-10 16:03:00
400
原创 顺序循环队列一些操作
<br />CircularQueue.h<br />#ifndef SQQUEUE_H_H#define OK 0#define ERROR -1#define MAX_SIZE 5typedef int type;typedef struct SNode{ type date[MAX_SIZE]; int front; //队头指针 int rear; //对尾指针 int queue_length; int queue_size;}SqQueue
2010-08-09 18:29:00
417
原创 顺序队列一些操作
<br />SqQueue.h<br />#ifndef SQQUEUE_H_H#define OK 0#define ERROR -1#define MAX_SIZE 100typedef int type;typedef struct SNode{ type date[MAX_SIZE]; int front; //队头指针 int rear; //对尾指针 int queue_length; int queue_size;}SqQueue;
2010-08-09 17:53:00
321
原创 explicit一些用途
Code: explicit是在类里面声明构造函数的,它的作用是可以防止对象间的隐式转换。被声明为explicit的构造函数通常比其非explicit更受欢迎,因为它们禁止编译器执行非预期的类型转换。除非有一个好理由允许构造函数被用于隐式类型转换,否则我会把它声明为explicit。 例如: class Dog
2010-08-08 11:28:00
448
原创 C++多态性一些总结
Code: #include using namespace std; /* 总结多态性几个要点: 1、一定要有虚函数,非虚函数不能实现多态 2、子类一定要改写父类的虚函数,不改写不能实现多态 3、必须用
2010-08-08 11:24:00
508
原创 dynamic_cast 的一些用途
Code: 要使用dynamic_cast动态类型转换,必须满足下面条件: 1、基类至少要有一个虚函数 2、需要多态性 3、编译器打开RTTI检查 dynamic_cast功能: 当某些情况下不能使用运行时多态的时候,就可以用dynamic_
2010-08-08 11:23:00
576
原创 简单迷宫(链栈)
Stack.hCode: #ifndef STACK_H_H #define OK 0 #define ERROR -1 typedef struct Point { int x; int y; }Point;
2010-08-08 11:21:00
569
原创 const的一些总结
1 int* p;2 const int* p;3 int const* p;4 int* p const;5 const int* p const;要判断const修饰指针的特性,我们可以看const这个关键字在*号的左边还是右边。const int* p;const在*号的左边,说明指针p指向的内容的值不能被修改,而指针的地址可以被修改,即可以从新指向到别的变量。
2010-08-08 11:13:00
291
原创 简单迷宫实验(链栈)
Stack.h#ifndef STACK_H_H#define OK 0#define ERROR -1typedef struct Point{ int x; int y;}Point;typedef struct Stack{ Point pt; //保存坐标点 struct Stack *next;}*LinkStack;int init_linkStack(LinkStack*);int make_node(Stack**);
2010-08-07 21:40:00
626
原创 链栈的一些操作
<br />LinkStack.h头文件<br />#ifndef LINKSTACK_H_H #define OK 0 #define ERROR -1 typedef int type; typedef struct LNode { type data; struct LNode *next;}*LinkStack; int init_linkStack(LinkStack*);int make_node(LNo
2010-08-06 20:36:00
366
原创 const的一些总结
<br />1 int* p;<br />2 const int* p;<br />3 int const* p;<br />4 int* p const;<br />5 const int* p const;<br />要判断const修饰指针的特性,我们可以看const这个关键字在*号的左边还是右边。<br />const int* p;<br />const在*号的左边,说明指针p指向的内容的值不能被修改,而指针的地址可以被修改,即可以从新指向到别的变量。<br />int* p const;<br
2010-08-06 18:07:00
315
原创 dynamic_cast 的一些用途
<br />要使用dynamic_cast动态类型转换,必须满足下面条件:1、基类至少要有一个虚函数2、需要多态性3、编译器打开RTTI检查dynamic_cast功能:当某些情况下不能使用运行时多态的时候,就可以用dynamic_cast代替,例如:struct Base{ virtual void func(){}};struct D : public Base{ void func(){} void f(){}};void tes
2010-08-06 18:05:00
745
原创 explicit一些用途
<br />explicit是在类里面声明构造函数的,它的作用是可以防止对象间的隐式转换。被声明为explicit的构造函数通常比其非explicit更受欢迎,因为它们禁止编译器执行非预期的类型转换。除非有一个好理由允许构造函数被用于隐式类型转换,否则我会把它声明为explicit。例如:class Dog{public: Dog() {} /* explicit */ Dog(int i) {} void func(Dog dog) { }};int _tmai
2010-08-06 18:01:00
465
原创 C++多态性一些总结
<br />#include<iostream>using namespace std;/* 总结多态性几个要点: 1、一定要有虚函数,非虚函数不能实现多态 2、子类一定要改写父类的虚函数,不改写不能实现多态 3、必须用父类指针指向子类对象来调用虚函数,直接用子类指针 来调用不是多态性,而只是普通调用 4、有一个纯虚函数的类就叫抽象类 5、虚函数里面可以写代码,且需要声明*/class Shape{public: void draw() {
2010-08-06 17:56:00
594
原创 顺序栈的一些操作
<br />SqStack.h头文件<br />#ifndef SQSTACK_H_H#define OK 0#define ERROR -1#define MAX_SIZE 100typedef int type;typedef struct SNode{ type *base; type *top; int stack_size; int stack_length;}SqStack;int init_stack(SqStack*);int dest
2010-08-06 17:47:00
352
原创 单链表的一些操作
<br />LinkList.h头文件<br />#ifndef LINKLIST_H_H#define OK 0#define ERROR -1typedef int type;typedef struct LNode{ type elem; struct LNode *next;}LNode,*LinkList;int create_linkList(LinkList);int init_linkList(LinkList*);int print_link
2010-08-05 17:17:00
373
原创 顺序表的一些操作
<br />#ifndef LIST_H_H#define LIST_INIT_SIZE 100#define OK 0#define ERROR -1typedef int type;typedef struct Node{ type *elem; int list_length; int list_size;}SqList;// create list by arrayint compare(SqList *list, type e){
2010-08-05 17:12:00
309
原创 双循环链表的一些操作
DLinkList.h头文件#ifndef DLINKLIST_H_H#define OK 0#define ERROR -1typedef int type;typedef struct DLNode{ type elem; struct DLNode *prior; struct DLNode *next;}*DLinkList, DLNode;int init_dlinkList(DLinkList*);int create_dlinkList(DLin
2010-08-05 17:03:00
429
原创 静态链表的一些操作
SLinkList.h头文件 #ifndef SLINKLIST_H_H#define MAX_SIZE 100#define OK 0#define ERROR -1typedef int type;typedef struct SNode{ type elem; int cur;}SLinkList[MAX_SIZE];int init_slinkList(SLinkList);int malloc_node(SLinkList);void fre
2010-08-05 16:52:00
754
1
原创 邻接表-建立无向图、无向网、有向图、有向网
#include#include#define MAX_VERTEX_NUM 20#define OK 1#define ERROR 0typedef int InfoType; /* 该弧相关信息的指针类型 */typedef char VertexType; /* 顶点的类型 */typedef struct ArcNode /* 弧结点的结构 */
2009-06-06 13:17:00
22329
4
原创 线索化二叉树
编译环境:VC++6.0 #include#include#include#define ERROR 0#define OK 1typedef char ElemType;typedef enum PointerTag{Link,Thread}; /* Link==0: 指针 Thread==1: 线索 *//* 二叉树结构体 */typedef struct _ThrBi
2009-06-04 13:36:00
675
原创 数组表示法建立图
#include#include#include#include#define OK 1#define ERROR 0#define INFINITY -1 /* -1代表无穷 */#define MAX_VERTEX_NUM 20 /* 最大顶点个数 */typedef int VertexType; /* 向量的类型 */typedef int I
2009-06-03 21:55:00
1158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人