自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (7)
  • 收藏
  • 关注

原创 多线程编程(三)——AfxBeginThread

    在MFC中,我们可以用到的一个API是AfxBeginThread,它的函数声明原型如下: CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_A

2010-07-28 08:38:00 3725 1

原创 多线程编程(二)——_beginthreadex

对于C++运行库,Microsoft的C++运行库为我们提供了2个API函数: uintptr_t _beginthread(    void( *start_address )( void * ),    unsigned stack_size,    void *arglist ); uintptr_t _beginthreadex(    void *security,    unsigned stack_siz

2010-07-27 07:25:00 5963

原创 多线程编程(一)——CreateThread

  操作系统提供的SDK API CreateThread原型如下: HANDLE WINAPI CreateThread( __in LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_START_ROUTINE lpStartAddress, __in LPVOID lpParameter

2010-07-27 03:10:00 3353 1

原创 控制台下输出汉字字符和CString字符

    我们在控制台下可能需要输出汉字字符串或是CString类型的字符串,可是直接输出显然不行,尝试了下,使用如下方法可正常输出: 关键代码在这一句 wcout.imbue(locale("CHS")); 其中imbue表示设置当前输出字符集的格式,locale("CHS")表示本地字符集格式为CHS,而CHS表示的是简体中文。

2010-07-22 10:42:00 3490 1

原创 让你的程序更加适用——使用ANSI和UNICODE导出函数

    继前两篇文章之后,我们更加关心的问题是,我们可能为了方便他人的使用,需要提供ANSI和UNICODE版本的函数,此时,我们可以模 仿Windows的作法,我们只编写UNICODE版本的函数,然后在ANSI版本的函数中,我们把多字符转换成UNICODE字符串,然后调用UNICODE版 本的函数,完成之后,再把他还原成多字符集的字符串。    此处,引用示例,逆转字符串中所有字符的函数: 然后,我们可以在发布的.h头文件中,这样定义函数: 这样,使用我们函数的人,也就

2010-07-22 06:49:00 1473

原创 UNICODE和ANSI字符串的转换

继上集故事《多字符集(ANSI)和UNICODE及字符串处理方式准则 》,我们现在有一些特殊需求: 有时候我们的字符串是多字符型,我们却需要使用宽字符型;有的时候却恰恰相反。 Windows为我们提供了这样的函数来处理这个问题: 1.MultiByteToWideChar 函数功能:该函数映射一个字符串到一个宽字符 (unicode)的字符串。由该函数映射的字符串没必要是多字节字符组。 函数原型:int MultiByteToWideChar(UINT CodePage,

2010-07-22 06:38:00 3955

原创 多字符集(ANSI)和UNICODE及字符串处理方式准则

在我们编写程序的时候,使用最多的是字符串的处理,而ANSI和UNICODE的相互转换经常搞的我们头晕眼乱。 应该说UNICODE是一种比较好的编码方式,在我们的程序中应该尽量使用UNICODE编码方式,我们在编写程序的时候,最好能依据下面的准则来进行: 基本准则: 1.将文本字符串想象为字符数组,而非char或字节数组 2.开始使用通用数据类型来表示文本字符和字符串(如TCHAR,PTSTR) 原因是我们可以在WinNT.h的头文件中找到如下定义(代码有删改): #ifndef VOID

2010-07-22 05:52:00 2635

原创 也谈面向对象编程

在我的工作和生活过程中,我曾经不止一次的被人问到,“什么是面向对象?什么是面向对象编程?”,而后来,我也像他们一样去问其他人同样的问题,可是,他们回答的结果和我当初的相仿一样让人吃惊!我大多可得到如下描述“把一类事物抽象成一个类,这就叫做面向对象编程。”也许,这是很多的初学者毫不犹豫的答案。然而,我并不想反驳你的观点,但如果我问你“面向对象和面向过程有什么异同”,也许,会有不少人回答诸如结构体和类之类异同的研究结果。 然而,事情的真相总是让人吃惊的,假设你在C++语言中使用结构体,你会发现他们几乎和类的结

2010-07-20 06:37:00 949

原创 文件操作系列之六——(CArchive的文件操作)

下面介绍一种特殊的文件操作方式——CArchive。 CArchive的介绍: Allows you to save a complex network of objects in a permanent binary form (usually disk storage) that persists after those objects are deleted. CArchive does not have a base class. Later you can load the object

2010-07-14 02:27:00 6269

原创 文件操作系列之五——(CStdioFile的文件操作)

前面介绍了CFile类对文件的操作方式,本篇来介绍CStdioFile对文件的操作。 直接看这个类的源代码,我们可以发现,这个类是从CFile继承过来的。不过,CStdioFile的最大好处是他读写文件的方式是按照行来进行的。 当你把(0x0A)写入文件的时候,他会写入一对字符(0x0D, 0x0A),而当你读取的时候,他又给你把这一对字符转换成(0x0A)的单一字节。 虽然CStdioFile继承自CFile,但此处应该注意的是,CFile中的Duplicate, LockRan

2010-07-13 08:25:00 2347

原创 文件操作系列之四——(CFile类的文件操作)

CFile提供的是一种无缓冲的二进制文件输入输出服务,他还可以通过他的派生类来支持文本文件和内存信息的传输。 你可以使用CFILE的和他的派生类来操作硬盘的标准I / O流操作,你还可以使用ofstream或其他微软的iostream类格式化文本文件之后在传输磁盘文件。 通常,一个文件通过CFILE的构造函数自动的打开,通过他的析构函数自动的销毁关闭。而他的静态成员函数可以让你在不打开文件的情况下就可以访问文件的状态。 下面直接上代码说明: 读文件: 写文件:

2010-07-13 08:11:00 1159

原创 文件操作系列之三——(windows中的文件操作)

前面介绍了标准C++和C Run-Time Library中文件操作的方式,缺点显而易见,很多的东西和验证需要我们自己进行。 在windows中,系统封装了这些运行库,然后给了我们几个可供使用的API来操作文件。 同样的,windows的SDK大多是面向过程的封装。下面直接上代码: 读文件:   写文件:       示例代码同样简单,不过需要注意的是他们的参数,参数的意义可以参考MSDN的说明,上面有非常详细的描述和例子。    由于我的工程属性是U

2010-07-13 07:45:00 951

原创 文件操作系列之二——(标准C++文件流)

本篇开始介绍面向对象的方式处理文件的方式,不过缺点是开始依赖操作系统和环境,如后面所述的SDK依赖于windows,而CStdioFile依赖于MFC框架语言。 标准C++中操作文件流的方式是Ifstream和Ofstream的输入流和输出流文件类。要使用他们,你可以直接包含fstream头文件,当然也可以根据需要引用他们各自的头文件。 在fstream中,最重要的操作是重载了文件输入流运算符>>和文件输出流

2010-07-13 07:21:00 2040

原创 文件操作系列之一——(C Run-Time Library)

现在要做一个东西出来,因为涉及的知识面比较广,所以需要系统的把知识整理一下,刚好用到文件操作这一块,就整理了一下相关的要点。 操作文件的方式很多,这里重点介绍几个,本次介绍C Run-Time Library的文件操作方式。 C Run-Time Library中操作文件的方式又有两种,一种是直接使用库的API来进行;一种是使用FILE的I/O标准流操作来进行。下面分别说明。 一使用C Run-Time Library库的API来操作文件。因为C Run-Time Library

2010-07-13 07:12:00 2008

原创 Windows编程中的错误处理

Windows编程中获得错误信息 在windows编程中我们的函数往往不如我们想象的那样工作,他经常会出现很多这样那样的问题,一般情况下,我们可以通过他们的返回值来得到他们到底是否发了小脾气: Windows常见的返回值类 型:1) VOID:表明该函数运行不可能失败,Windows函 数的返回值很少是VOID。2) BOOL:如果函数运行失败,返回值是0,否则 返回值是非0值。最好对返回值进行测试,以确定它是0还 是非0,而不是测试返回值是否是TRUE。3) HANDLE:如果

2010-07-09 03:47:00 1522

原创 Socket套接字编程(二)——UDP编程

TCP编程完了,下面轮到UDP了,这个是面向无连接的,更加简单。 先熟悉下流程: UDP型套接字: 服务器端(接收端)程序: 1、创建套接字(socket)。 2、将套接字绑定到一个本地地址和端口上(bind)。 3、等待接收数据(recvfrom)。 4、关闭套接字。 客户端(发送端)程序: 1、创建套接字(socket)。 2、向服务器发送数据(sendto)。 3、关闭

2010-07-09 02:29:00 2042

原创 Socket套接字编程(一)——TCP编程

开始研究网络编程,先从套接字编程开始,这个简单,不过也得会才行。随手写点代码先练练手,没多少技术含量。 服务器端代码: #include #include using namespace std;#pragma comment(lib, "WS2_32.lib")int StartTCPSrv(){#pragma region 初始化套接字库 WSADATA wsaData; int iResult = WSAStartup

2010-07-09 02:19:00 11159

原创 动态链接库(DLL)的使用

例1: DLL编写: Dll1.h #ifndef DLL1 #define DLL1 _declspec(dllexport) int Add(int x,int y); //Add #endif Dll1.cpp #include "Dll1.h" int Add(int x,int y) { return x + y; } Dumpbin: 1 0 00011078 ?Add@@YAHHH@Z = @ILT+115(?Add@@YAHHH@Z) DLL调用1: (包含L

2010-07-06 01:43:00 4038 1

原创 DLL/EXE查看工具Dumpbin

<br /> <br />    一般情况下,我们需要查看一个DLL或EXE中的包含的函数或是依赖的函数之类的信息,可以使用VS自带的工具dumpbin;<br />   可以直接在命令行下输入dumpbin就可以查看他的使用说明,如果未显示,可以先运行VS安装目录下的vcvarsall.bat来设置一下环境变量就可以了<br /> <br />Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp. C:/Docu

2010-07-01 13:00:00 33257 2

MySQL绿色免安装脚本

MySQL的绿色免安装脚本,目前测试适用于所有已知mysql,适合重装系统后和制作绿色版本mysql的童鞋使用。 使用方法,放入mysql根目录,需要的时候只要点击StartMySQL.bat,不需要的时候点击StopMySQL.bat

2010-10-22

多线程编程示例源代码

多线程编程示例代码,包含CreateThread _beginthread AFXbeginThread 3个API的示例

2010-07-27

文件操作方式集合源代码

文件操作方式整理的源代码,VS2008的环境+XPsp3下调试通过。

2010-07-13

Microsoft Visual C++ 6.0 运行库参考手册

Microsoft Visual C++6.0运行库参考手册.chm 包括C Run-Time Library函数参考

2010-07-13

C/C++大师们的经典问题分析

珍藏的一本书,里面收录了一些C++大师们对问题的分析和解决办法;包括《与大虾对话: 领悟设计模式》 《auto_ptr再回忆 》,《好的,坏的,不赞成的 》等经典文章

2010-07-08

MySQL ODBC 5.1 Driver(Mysql驱动免安装版)

MySQL ODBC 5.1 Driver Mysql驱动绿色免安装版

2010-06-18

java培训教程

Sun公司的培训教程 绝对经典

2007-12-16

空空如也

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

TA关注的人

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