- 博客(156)
- 资源 (33)
- 收藏
- 关注
转载 sqlite数据库中的sql语句大全
最近用到sqlite3,发现有些SQL语句好像不适用于这个小型数据库,上网查了下,这篇文章挺详细的,转载自:http://hunankeda110.iteye.com/blog/1143258,感谢原作者。2010年SQLite学习笔记之一一. 如何获取SQLite最新版本官方站点:http://www.sqlite.org/从http://ww
2015-01-11 11:02:55 2005
转载 IOCP之accept、AcceptEx、WSAAccept的区别
1. accept、WSAAccept是同步操作,AcceptEx是异步操作2. WSAAccept函数早accept函数基础上添加了条件函数判断是否接受客户端连接3. AcceptEx是异步的,可以同时发出多个AcceptEx请求,支持重叠IO操作.转载自:http://blog.csdn.net/zhongguoren666/article/de
2015-01-05 16:13:03 2434
转载 setsockopt设置socket状态
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经
2015-01-05 16:11:08 879
原创 C++实现一个简洁而又强大的日志记录类
代码执行时记录日志是很有必要的,尤其在涉及到多进程、多线程调试或者是调试服务程序时。本分分享一个最近写的简单的日志类,希望有所帮助。不喜欢废话,上代码了:头文件如下:#pragma once#include <string>using std::string;using std::wstring;class CSimpleLog{public: CSimple...
2014-12-18 15:46:01 16468 8
原创 C++实现软件版本号管理类
最近做了个更新程序,更新下配置文件后通过对比版本号大小来确定是否有更新。原来仅仅只是简单的比较字符串的大小,用_tcscmp来做的,但是在形如:2.2.12.6和2.2.9.6对比时,明显会不对。于是就用C++写了一二个简单的版本号转化、对比的类。代码如下:#pragma once#include using std::wstring;class CVersion{publi
2014-12-18 12:26:40 4003
原创 C++模板编程实现二维数组
数组在C语言里面经常使用,有一个缺陷就是必须在定义的时候就指定大小,一旦申请后这片区域就不能动态的扩展。但是很多情况下我们并不知道大小是多少,于是就需要动态分配内存来存储。这里仅仅是一个小例,希望可以起到抛砖引玉的作用。为什么使用模板?使用模板的通用性很强,数组可能是int类型,也可能是bool类型……,使用模板就避免了为每一种类型去量身定制一套相同的功能。我想,这也是C++模板的初衷吧。
2014-12-18 12:04:46 3654
原创 VC创建自定义不规则窗口
最近工作比较闲,可以写点技术文章了。鄙人不才,可能会有所疏漏,只希望可以起到抛砖引入的作用。前面写过一篇用透明Png图片来创建不规则窗体的文章,本文则主要讲述通过代码来在自定义透明。(有的时候需要在窗口的某些位置打个洞,我以前做过这样的需求,哈哈。)透明窗口当然需要给窗口加上WS_EX_LAYERED样式,在绘制时调用UpdateLayeredWindow来贴图,源DC中所有像素点中alp
2014-11-27 12:44:58 910
转载 c++内存分配方式,堆栈区别,堆栈段,数据段,代码段,附加段
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
2014-06-19 11:08:13 2807
转载 软件项目版本号的命名规则及格式
版本控制比较普遍的 3 种命名格式 :一、GNU 风格的版本号命名格式 :主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]示例 : 1.2.1, 2.0, 5.0.0 build-13124二、Windows
2013-10-23 11:35:22 1662
原创 图像的分割和灰度处理(VC++实现)
备注:本文所有操作都是基于Windows的位图句柄HBITMAP的。1、首先,VC++为了支持多图片格式,我引用了GDI+来加载各种图像。GDI+使用前,切记:#include #pragma comment (lib,"GdiPlus")程序开始时:Gdiplus::GdiplusStartup(&m_pGdiplus,&m_GdiplusSt,NULL);程序终止前
2013-10-12 15:53:27 6813 1
原创 C++模板元编程之模板递归
如何提高程序运行效率?在编译时就把需要计算的结果算出来,避免运行时占用CPU时间去做耗时计算,这就是模板递归的原理。举例说明:1、计算100的阶乘//一般情况下,我们是这样做的:int GetFactorial(const int n){ int nResult=1;//n=0或者1时返回1 assert(n>=0); if(1!=n) nResult=GetFa
2013-04-18 17:17:33 6850
原创 vector内存机制和性能分析
一些好的公司校园招聘过程中(包括笔试、面试环节),经常会涉及到STL中vector的使用(主要是笔试)及其性能(面试)的分析。今天看了下相关文章,也写了几个小的测试程序跑了跑。算是总结下,希望对需要的人有帮助。关于vector,简单地讲就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时会自动申请另一片更大的空间,然后把原有数据拷贝过去,接着释放原来的那片空间;当释放或
2013-04-01 17:14:26 32906 11
原创 两道C语言面试题
1、如果已知一个数的阶乘的结果不大于10的4次方,则可以设置一个矩阵b[4]存放每个位。例如,5!=120,则,b[0]=0,b[1]=2,b[2]=1,b[3]=0。给出一个求阶乘的方法:如果已知K的阶乘,求K+1的阶乘时,可用矩阵b的每一位去乘以(k+1),如果结果大于9,就进位到前一位,直到所有的位都小于等于9问:(1)、如果是b[100],写出完整的求阶乘的程序(2)、
2013-03-17 16:17:08 1399
原创 C++实现一个简单的异常日志记录类
头文件#pragma once///////////////////////////////////////////////////////////////////////////////////异常信息记录类#include #ifdef UNICODE#define tstring std::wstring#else#define tstring std::st
2013-03-03 22:12:33 4157 2
原创 使用开源库zlib压缩和解压文件
zlib,一个十分强大的开源压缩解压库,应用示范广泛,很多开源库中都有它的存在(libpng,libzplay,ffmpeg……)。作为普通开发者只要掌握其主要的两个函数就足够用了:int compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);compress函数将 source 缓冲区
2012-09-26 17:18:55 27768 4
原创 C++模版编程——单链表的实现
代码的注释还是很清晰的,就不说废话了。直接上代码:#pragma once#include #include using std::cout;using std::endl;//单链表模板类templateclass CList{public: //类方法接口 enum{begin=0,end=-1}; typedef struct _LIST { _LI
2012-06-04 17:42:27 6706 2
原创 C++读取歌词文件(LRC),分解时间和歌词的方法
歌词文件的编码问题尤其须要注意!主要用到两个函数,如下:typedef struct _LYRIC{ long time; string strText;}LYRIC,*LPLYRIC;// 读取歌词文件BOOL CLyricsDlg::ReadLyricsFile(){ m_bFileExist=TRUE; ly.clear(); BOOL unicode=FA
2012-05-27 00:04:58 4311 2
原创 C++实现:霍夫曼编码
#ifndef CHUFFMANTREE_H_#define CHUFFMANTREE_H_#include #include #include #include using namespace std;/***************************************************************************//*先谈谈霍夫曼编码的基本
2012-05-21 21:58:08 5603
原创 c++中char*\wchar_t*\string\wstring之间的相互转换
string U2A(const wstring& str)//Unicode字符转Ascii字符{ string strDes; if ( str.empty() ) goto __end; int nLen=::WideCharToMultiByte(CP_ACP, 0, str.c_str(), str.size(), NULL, 0, NULL, NULL); if ( 0==
2012-05-02 23:16:29 18385 3
原创 C++多字节与宽字节间的转换(wchar_t与char转换)
详细代码及说明已更新至C++多字节与宽字节间的转换(wchar_t与char转换)
2012-04-13 18:07:12 11101
转载 windows 位图结构详解
位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。位图文件的组成结构名称符号位图文件头(bitmap-file header)BITMAPFILEHEAD
2012-04-11 22:45:04 8005
原创 DLL编程——Win32导出DLL类
1、新建一个Win32 DLL 工程添加头文件到工程中,编写自定义DLL导出类:#ifndef DLLCLASS_H_#define DLLCLASS_H_#include using namespace std;#define DLL_EXPORT _declspec(dllexport)const float PI=3.1415926;//或者C语言的#define
2012-04-10 22:12:54 4248
转载 VC无闪烁刷屏技术的实现
1.显示的图形为什么会闪烁 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。当然,
2012-04-07 22:49:26 836
原创 C++基础——抽象基类(ABC)
抽象基类(ABC)即Abstract Base Class利用了基类指针指向派生类对象从而调用派生类方法的思想实现C++的隐藏具体实现则主要用到的是纯虚函数#pragma once#include "stdafx.h"#include #include using std::cout;using std::endl;class AbstractClass//抽象基类//
2012-04-06 08:34:23 3444
原创 C++模板实现智能数组类
这个类的使用非常有限,不能说是真正的智能数组对于一般的数据类型还可以,比如int /float/char等但是,string类这样的类类型好像不是很好但是一些基础的东西却是学习的重点头文件MyArray.h:#pragma once#include using namespace std;template//定义一个类似数组的模板类(智能数组)class CMy
2012-03-27 22:39:21 3931 1
原创 MFC模拟双色球抽奖
用MFC+ATL写了一个很简单的模拟双色球抽奖小程序主要是用到了ATL中的deque容器:初始化对话框,以及文件:BOOL CRewardDlg::OnInitDialog(){ CDialog::OnInitDialog(); using namespace std; // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命
2012-03-26 09:58:17 2681
原创 C++构造函数之深度复制(deep copy)
C++字符串作为类成员时,直接的复制很可能导致两个指针指向同一内存区域,析构时将引发未知错误本文介绍下处理方法:#ifndef INHERITANCE_H_#define INHERITANCE_H_#include using namespace std;class Father{ public: Father(char* str="NoName");
2012-03-23 23:56:32 8039
原创 C++基础——操作符重载
关于操作符重载,是C++一个十分强大的功能。本文初略介绍下,涉及到友元以及函数重载头文件MyClass.h:#ifndef MYCLASS_H_#define MYCLASS_H_#include #include using namespace std;class MyClass{ friend ostream& operator<<(ostream& o
2012-03-21 22:49:03 798
原创 C++基础——多继承问题
本文主要介绍C++的多继承问题,包括基类和派生类的 构造函数、析构函数调用顺序,基类父类虚函数的调用……详情请见代码注释书本上讲得再多,还不如自己动手测试:头文件:class.h: #ifndef CLASS_H_#define CLASS_H_#include #include using namespace std;class s1{public
2012-03-20 13:12:22 851
原创 GDI+基础编程(2)——画刷的使用
代码中的注释还是很清楚的,在此不罗嗦了:void CGDI画刷Dlg::GDIBrushDrawImage(CDC* pDC){ Graphics g(pDC->m_hDC); //用单色画刷填充闭合曲线区域 SolidBrush solidBrush(Color(255,0,255,0)); PointF p1(30.0f,30.0f); PointF p2(100.
2012-03-19 18:23:25 1618 1
原创 GDI+基础编程(1)
首先是在我的VS2008里面配置GDI+库,以及初始化GDI+Lib,参见http://blog.sina.com.cn/s/blog_51e67b250100ebkp.html然后进行一些比较基础的GDI+画笔、图像处理(详细请见注释) void CGDIAppDlg::DrawImage1(CDC* pDC){ //CDC* pDC=GetDC(); Graphics
2012-03-17 22:39:33 1300
原创 C++文件操作
1、头文件介绍#include //标准输入输出流#include //派生自iostream,包括ifstream和ofstreamusing namespace std;//都在名称空间std中,别忘了加上2、打开文件const char* fileName="1.txt";//要打开的文件名,可以使路径名,默认情况下是所建工程下fstream类派生了两个类ifstre
2012-03-08 13:42:55 23905
转载 C++实现:BF算法和KMP算法
BF算法:int BF_Find(string& s,string& t){ int i=0,j=0,count=0; while(i<s.size()) { if(s.at(i)==t.at(j)) { i++; j++; count++;} else { i++; j=0; co
2012-03-07 21:38:51 9495 1
原创 C++实现:分数类
花了几个小时敲代码——测试——修改……总算搞定了好累,睡觉去的有问题欢迎提出,继续修改首先是头文件CFraction.h: #ifndef CFRACTION_H_#define CFRACTION_H_#include using namespace std;class CFraction{public: CFraction(int a=1,
2012-03-05 22:20:15 7824 3
原创 C++实现贪吃蛇类
希望对C++初学者了解OOP有一定的帮助,本人也是菜鸟欢迎批评指教。废话少说,上代码:#ifndef SNAKE_H_#define SNAKE_H_#include #include #include "windows.h"#include using namespace std;typedef struct{ int xPos; int yPos
2012-02-25 11:31:52 3418 2
libjpeg-turbo编码、解码实例代码
2016-09-23
Windows上编译的libx264(源码+生成DLL、lib、def)
2016-07-05
windows上使用Libcef实例源码
2015-12-11
WebsocketPP C++构建Web服务器源代码
2015-11-30
VC++实现支持换肤半透明的MP3播放器
2015-01-25
C++实现HTTP处理类
2015-01-15
VC++图像分割、灰度处理源码
2013-10-12
MFC硬件检测
2011-09-18
MFC多用途文件编辑器
2011-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人