2015年6月16日
摘要: void BuildTree(){ FileNode nodeD; nodeD.fileName = _T("D"); nodeD.fileSize = 15; FileNode nodeE; nodeE.fileName = _T("E"); nodeE.fileSize = 10; FileN... 阅读全文
posted @ 2015-06-16 17:49 潇湘雨歇 阅读(423) 评论(0) 推荐(0) 编辑
  2012年3月20日
摘要: #include "stdafx.h"#include <windows.h>#include <process.h>template <typename T>class CircularQueue{public: explicit CircularQueue(int capacity) : m_capacity(capacity), m_head(0), m_tail(0) { m_array = new T[m_capacity + 1]; } ~CircularQueue() { delete[] m_array; ... 阅读全文
posted @ 2012-03-20 23:31 潇湘雨歇 阅读(5633) 评论(9) 推荐(0) 编辑
  2012年2月27日
摘要: 单链表的节点数据模型struct list_node_t{ int data; list_node_t* next;};反转链表操作list_node_t* reverse_list(list_node_t* head){ list_node_t* p = head; list_node_t* q = head; list_node_t* new_list = 0; // 反转后的新链表 while ( p ) { // 在新链表的头部插入节点p q = p->next; p->next = new_list;new_list = p; p = q;... 阅读全文
posted @ 2012-02-27 21:35 潇湘雨歇 阅读(266) 评论(6) 推荐(0) 编辑
  2011年10月10日
摘要: 夸孩子少用“你真棒”,教你如何夸孩子【育儿学堂】夸孩子少用“你真棒”,教你如何夸孩子畅销育儿书《孩子,把你的手给我》中,关于表扬孩子有一个很恰当的比喻——“称赞,就像青霉素一样,绝不能随意用。使用强效药有一定的标准,需要谨慎小心,标准包括时间和剂量,因为可能会引起过敏反应. 1.夸具体不夸全部 “宝宝真棒”,这样的表扬对家长来说真是轻车熟路。在家长眼里,孩子的每一个成长细节都是值得惊叹和赞美的——宝宝会笑了,宝宝会翻身了,宝宝会蹦了,宝宝说话了……就是在这种不断的惊喜中,家长已经习惯于对着孩子说出“真棒!”、“真好!”这样的评价,甚至一句轻轻的“啊”都充满着赞赏的语气。 家长随口的夸奖,可能意 阅读全文
posted @ 2011-10-10 00:47 潇湘雨歇 阅读(342) 评论(22) 推荐(0) 编辑
  2011年6月8日
摘要: #include <sstream>#include <string>#define BUFFER_SIZE 256const char g_szHeader[] = "HTTP/1.1 200 OK\r\n" "Connection: Keey-Live\r\n" "Content-Type: text/xml\r\n\r\n";// 响应报文头解析bool HttpRespHeaderPrase(const std::string& strHeader){ if ( strHeader.empty( 阅读全文
posted @ 2011-06-08 01:10 潇湘雨歇 阅读(6065) 评论(0) 推荐(0) 编辑
  2011年6月6日
摘要: // Calculate the byte offset of a field in a structure of type type.//#define FIELD_OFFSET(type, field) ((LONG)(INT_PTR)&(((type *)0)->field))#define ANSI_NULL ((CHAR)0) #define UNICODE_NULL ((WCHAR)0) #define MAKELANGID(p, s) ((((WORD )(s)) << 10) | (WORD )(p))#define PRIMARYLANGID(lgi 阅读全文
posted @ 2011-06-06 22:01 潇湘雨歇 阅读(298) 评论(0) 推荐(0) 编辑
  2011年6月5日
摘要: 1. 单独建立线程池,线程池中的所有工作线程从线程池任务队列中读取任务,启动SOAP报文下发工作。2. 建立连接池,线程池中线程从连接池获取一个连接将SOAP报文下发到网元上。3. 其他线程:SOAP报文读取线程,将生成的SOAP报文文件映射到内存文件,每次读取1w条数据到SOAP报文下发队列,SOAP下发队列数据结构进行 封装,添加信号量,每次数据push_back一条信号量递增 SOAP报文下发线程,独立的线程从SOAP报文下发队列中取数据,等待下发队列的信号,如果有信号则从队列中取数据,构建下发任务 将下发任务压入线程池工作任务队列,同时信号量递减1 SOAP报文保存线程,SOAP报文下 阅读全文
posted @ 2011-06-05 18:00 潇湘雨歇 阅读(1469) 评论(3) 推荐(0) 编辑
  2011年6月2日
摘要: http://wenku.baidu.com/view/856279a0284ac850ad0242a3.htmlhttp://baike.baidu.com/view/3145281.htmhttp://www.vckbase.com/document/viewdoc/?id=1409http://hi.baidu.com/idownload/blog/item/296d093bcff96ce914cecb22.html 阅读全文
posted @ 2011-06-02 01:02 潇湘雨歇 阅读(161) 评论(1) 推荐(0) 编辑
  2011年5月29日
摘要: [原文地址]http://www.vckbase.com/document/viewdoc/?id=1708八、线程的同步 虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能读数据库的线程读取的是未完全更新的数据库,因为可能在读的时候只有一部分数据被更新过。 使隶属于同一 阅读全文
posted @ 2011-05-29 23:44 潇湘雨歇 阅读(167) 评论(0) 推荐(0) 编辑
摘要: #include <string>#include <list>typedef std::list<std::string> CSVRecord;size_t ReadFieldValue(const std::string& str, size_t pos, const char* pszSeparator, std::string& strFieldValue){ // 清空字段值 strFieldValue = ""; // 分隔字符序列为空 if ( NULL == pszSeparator ) { // 返回无效 阅读全文
posted @ 2011-05-29 07:16 潇湘雨歇 阅读(407) 评论(0) 推荐(0) 编辑