
C++
文章平均质量分 77
jiangxinyu
这个作者很懒,什么都没留下…
展开
-
指针、引用、数组和字符串,你真的全弄清楚了吗?
注:1.未特别指明时,本文所述内容均为C/C++(引用则为C++)的;2.未特别指明时,本文的描述、测试和实现,一般基于80x86构架和Win32平台下的VC++6.0的debug模式,但我也会在某些地方强调指出;3.未特别指明时,我用实体(entity)来泛指平时所说的变量、常量和函数(未特别指明时,本文所说的常量,一般均指用const定义的,而非#define定义的);4.本文转载 2007-02-08 13:44:00 · 1726 阅读 · 0 评论 -
怎样将成员函数指针强制转换成void*指针?
采用取成员函数指针的地址的方法,先把指向成员函数指针的指针强制转化为别的类型,如unsigned*,当然同样可以通过此转化后的指针经过相反的变换来调用成员函数。于是乎要转化为void*的问题也随之可解,如下示例:/* VS2003下编译运行 */class AbstractMethod{public: virtual void show(){} // = 0; // 可以是纯虚函数,这里为了测转载 2007-02-08 13:55:00 · 3960 阅读 · 0 评论 -
函数指针和数组指针和强制类型转换
在论坛给朋友解释概念的时候写的,记录下来, 省的以后再动口水^_^.还有函数指针比如void (*pf)(void);,既然是指针那么内容也是一个地址,只是这个地址比较特殊。是一个函数的地址。当我们定义一个函数时候,比如void f(void);这个函数的名字就代表函数的地址了,它也是一个函数指针,内容是函数的地址,既然是一个指针,那么它指向的那个函数应该就是(*f)()表示了。但为什么用f(转载 2007-02-08 14:05:00 · 2991 阅读 · 0 评论 -
一个消息提示托盘程序的开发历程
一个消息提示托盘程序的开发历程(采用socket技术,附源代码)二...一个消息提示托盘程序的开发历程(采用socket技术,附源代码)二...:娑堟伅鎻愮ず宸ュ叿婧愮爜锛?br>鏈嶅姟绔細msg.h/* * create date: 2004-12-01 * create by: 鏉庢槬闆?br> * purpose: 鍗忚鐢ㄨ嚜瀹氫箟娑堟伅缁撴瀯: * mes转载 2007-02-09 13:22:00 · 1411 阅读 · 0 评论 -
数据库设计三大范式应用实例剖析
引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来转载 2007-01-18 15:22:00 · 728 阅读 · 0 评论 -
C++主题年技巧积累#2——我被static撞了一下腰
C++主题年技巧积累#2——我被static撞了一下腰优快云旗下水之真谛(http://blog.youkuaiyun.com/FantasiaX)出品 前传: 刚刚参加博文视点出版社三周年庆典回来,兴奋之余想到今天还没有更新Blog,于是跑上来更新一下——我尽量“好好学习,天天上博”。哎呀,今天见到好多名人啊!先是在金戈老师旁边坐下,然后又去问候了久仰大名的孟岩老师,在孟老转载 2007-01-19 09:21:00 · 1049 阅读 · 0 评论 -
VC编程经验汇总
1. 显示和隐藏标题栏 方法一:使用API实现 //隐藏TitleBar LONG lStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE); ::SetWindowLong(this->m_hWnd, GWL_STYLE, lStyle & ~WS_CAPTION); ::SetWindowPos(this->m_hWnd,转载 2007-01-18 13:30:00 · 1211 阅读 · 0 评论 -
VC编程读取文本数据
VC编程读取文本数据 我们通常把数据存诸在txt文件上,但是我们通常要把这些数据取出来并进行处理。下面我将介绍一种在VC++应用程序中读取文本数据的方法。一.前言因为经常要处理地质方面的数据。但是很多数据它不是直接存贮在数据库文件(如Access文件等),而是存贮在txt文件。经常有同学问我怎么通过编程读取实现文本文件中的数据。其实存贮在txt文件也有它的转载 2007-01-19 09:22:00 · 5813 阅读 · 15 评论 -
函数是如何被调用的?-探索代码背后的故事
函数是如何被调用的?-探索代码背后的故事 在 C/C++ 语言中,函数是如何被调用的呢?本文就实际的例子,走进汇编代码来看下函数调用的过程。 首先看一个简单的代码例子: void test(int i) { int j = i; } void test1() { } int test2() { return 1;转载 2007-01-19 09:26:00 · 1369 阅读 · 0 评论 -
C++主题年技巧积累#1——UltraEdit的代码美化
C++主题年技巧积累#1——UltraEdit的代码美化优快云旗下水之真谛(http://blog.youkuaiyun.com/FantasiaX)出品小序: 最近这些天总有朋友问我怎么不写C#的东西了,呵呵,是这样的——今年的年度计划中我把“年度技术主题”定为了C++语言,所以学习的内容就偏重C++了——显然,去年的主题是C#。当然啦,温故可以知新,所以我也会时常对照着转载 2007-01-19 09:32:00 · 1377 阅读 · 0 评论 -
在VC程序中加载动画
在VC程序中加载动画 类作者:Oleg Bykov 示例程序作者: 龚建转载 2007-01-22 16:02:00 · 1205 阅读 · 0 评论 -
vc中把字符串转换成16进制数的函数(如'7f'->0x7f)
sswanglei 发表于 2007-2-9 16:08:00 /*------------------------------------------------------------ 函数名 : TransData(CString InStr, PUCHAR OutStr)转载 2007-03-13 16:32:00 · 4432 阅读 · 2 评论 -
用C语言读取大文件的问题
Windows对文件的读写提供了很丰富的操作手段,如:1. FILE *fp, fstearm...; (C/C++)2. CFile, CStdioFile...; (MFC)3. CreateFile, ReadFile...;(API)...在处理一般的文件(文本/非文本),这些足够了。然而在处理比较大的文件如几十M, 几百M, 甚至上G的文件, 这时再用一般手段处理,系统就显的力不从心转载 2007-07-04 08:52:00 · 6895 阅读 · 0 评论 -
如何在Windows应用程序中实现电子注册功能
google_ad_client = "pub-9917984554361619";google_alternate_ad_url = "http://www.kpwang.com/ad/view_replace_one.htm";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";google_转载 2007-04-09 16:46:00 · 948 阅读 · 0 评论 -
动态分配二维数组
#include stdio.h>#include stdlib.h>#include string.h>templateclass T>T **darray_new(int row, int col, int size)...{ T **arr; arr = (T **) malloc(sizeof(T *) * row + size * row * col); if转载 2007-07-04 13:26:00 · 694 阅读 · 0 评论 -
为VC++应用程序对话框添加透明位图
我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本实例介绍了透明位图的制作知识,并将透明位图在一个对话框中显示了出来,界面效果如图一所示: 图一、对话框界面上透明显示位图转载 2007-07-04 13:29:00 · 695 阅读 · 0 评论 -
怎样用VC限制软件的试用次数
王荣福 01-8-17 下午 02:39:28 软件试用次数的限制有很多种方法,其关键是把次数这个值存储在哪 里。这里介绍一种方法,通过改变文件 的时间来存储试用次数,转载 2007-04-09 14:09:00 · 2483 阅读 · 0 评论 -
限制软件试用期的源代码,vc++
#include "Register.h"#include "Windows.h"void CMainFrame::IconMT(){ BOOL bIconFlag = 0; CTime t = CTime::GetCurrentTime(); CString a; t = CTime::GetCurrentTime();// add 试用版本 有效期 30天 int i = 0;原创 2007-04-09 16:06:00 · 6799 阅读 · 0 评论 -
VC中利用多线程技术实现线程之间的通信
VC中利用多线程技术实现线程之间的通信 http://www.sina.com.cn 2006年02月06日 13:31 天极yesky转载 2007-04-16 12:53:00 · 886 阅读 · 0 评论 -
如何隐藏控制台程序的窗口
方法一:(会有闪一下黑屏)在main入口处调用一下FreeConsole ()试试 要显示的时候调用一下AllocConsole ()就可以了方法二我说的两个缺点 1、可以这样做 在你的.c/.cpp中加上这样两行 #pragma comment (linker, "/ENTRY:mainCRTStartup") #pragma转载 2007-07-10 09:15:00 · 4765 阅读 · 1 评论 -
关闭时最小化到系统托盘中的单实例应用程序
原文:http://www.codeproject.com/csharp/SingleInstanceApplication.asp翻译:Anders Liu出处:http://www.cnblogs.com/AndersLiu/archive/2007/07/09/811354.html简介 本文解决下列问题:1 创建单实例应用程序。2 当用户试图启动新的实例时,恢复前一个实例。3 当转载 2007-07-12 13:58:00 · 1061 阅读 · 0 评论 -
#ifndef#define#endif的用法(转载)
#ifndef#define#endif的用法(转载)2006年08月15日 星期二 09:52 1.头文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这转载 2007-04-22 10:22:00 · 1133 阅读 · 0 评论 -
VC删除文件夹下所有文件的代码
//删除文件夹目录(非空)bool DeleteDirectory(char* sDirName) ...{ CFileFind tempFind; char sTempFileFind[200] ; sprintf(sTempFileFind,"%s/*.*",sDirName); BOOL IsFinded = tempFind.FindFile(sTem转载 2007-04-27 10:52:00 · 4979 阅读 · 0 评论 -
一种巧妙的删除程序自己的方法
介绍一种巧妙的删除程序自己的方法 vcbear 投稿 2001/03/08 未经作者允许任何机构或个人不得以任何方式转载或复制本文 介绍一种巧妙的删除程序自己的方法转载 2007-05-11 15:53:00 · 777 阅读 · 0 评论 -
自删除代码
JohnChen分析了一下Gary Nebbett写的一段程序自删除的程序。是很精妙的一段代码,精妙之处在于其进程尚在,但可执行文件已经被删除了。我前段时间也写了一段自删除代码,不过没有那么高深,只是利用了批处理的功能,在程序的最后调用我这个函数,就能够将自己删除。现在把函数代码贴出来。void SelfDelete() { static char templ[] = ":Repe转载 2007-05-09 14:02:00 · 1923 阅读 · 1 评论 -
文件(文件夹)删除拷贝操作类
文件(文件夹)相关操作.以下各种讨论基于Windows+VC7.0开发环境.实现文件(文件夹)操作的方式和函数多种多样,在这里我们只是很浅显讨论其中的一两中方法的应用.如果你想了解更多的请参考你编译系统的的帮助文件.也可以和我讨论:MSN:Ugg_xchj@hotmail.com为了更好的对文件(文件夹)进行操作,我们先讲解一些基本知识.最后我们将实现一个基于我们自己方法的文件(文件夹转载 2007-05-11 14:19:00 · 960 阅读 · 0 评论 -
如何把位图拷贝到剪贴板中
如何把位图拷贝到剪贴板中把位图拷贝到剪贴板中是比较简单的,但是有件事情你可别忘记了,如果位图有调色板的话,你也要把调色板一起拷贝过去,否则的话位图就不能正确显示了。 函数1:拷贝一个DDB到剪贴板中 copybitmaptoclipboard()函数能把一个DDB拷贝到剪贴板中去,如果有调色板它也一起拷贝过去。最后,注意调用detach()函数。这是非常重要的,因为GDI(图形设备转载 2007-05-14 14:12:00 · 852 阅读 · 0 评论 -
大型WAV文件的播放
大型WAV文件的播放 在多媒体软件的设计中经常要处理声音文件,用Windows提供的API函数sndPlaySound可以实现小型WAV文件的播放。但是当WAV文件大于可用内存时,sndPlaySound函数就不能进行播放,那么如何利用MCI播放大型音频文件呢?本文将介绍一种方法。 Windows支持两种RIFF(resource interchange file format,“资源转载 2007-05-14 14:13:00 · 719 阅读 · 0 评论 -
Visual C++中基于多文档视窗模型的重叠图象拼接技术
Visual C++中基于多文档视窗模型的重叠图象拼接技术摘要 图象拼接是在全景视频系统、地理信息系统等应用中经常遇到的一个问题,本文基于网格匹配的方法对边界部分有重叠的图象提出了一种行之有效的对准算法,并通过平滑因子对图象实现了无缝拼接。并应用文档视窗模型实现了该算法,并完成了位图文件的显示、存储等操作,具有一定的普遍意义。 关键词: 图象拼接,算法,重叠图象,文档视窗,位图文件,图转载 2007-05-14 14:15:00 · 930 阅读 · 0 评论 -
在VC++下对文件属性的获取与更改
在VC++下对文件属性的获取与更改本文讲述了在Visual C++ 下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。 一、 引言 文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创建、读取和写入文件。对于一些要求不是很严格的程序,我们往往只关心文件的内容是否正确、转载 2007-05-14 14:22:00 · 944 阅读 · 0 评论 -
怎样在目录中寻找文件
怎样在目录中寻找文件下面的代码说明了怎样在一个给定的目录中从上到下地搜索整个目录树.本例子只将结果输出到system debug screen. 调用下面的类函数,搜索完成之后,将出现一个信息框. void CTestView::OnSearch() { // szFilename is declared in the header as array of char // look for MyF转载 2007-05-14 14:23:00 · 930 阅读 · 0 评论 -
C++字符串完全指南 - 各种字符串类
C++字符串完全指南 - 各种字符串类(一)前言 C语言的字符串容易出错,难以管理,并且往往是黑客到处寻找的目标。于是,出现了许多字符串包装类。可惜,人们并不很清楚什么情况下该用哪个类,也不清楚如何将C语言字符串转换到包装类。本文涉及到Win32 API,MFC,STL,WTL和Visual C++运行库中使用到的所有的字符串类型。说明各个类的用法,如何构造对象,如何进行类转换等等。Ni转载 2007-05-14 14:37:00 · 1635 阅读 · 0 评论 -
VC增加自定义消息
VC增加自定义消息 ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。下面是增加自定义消息的步骤:第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。第二步:实现消息转载 2007-05-14 14:43:00 · 925 阅读 · 0 评论 -
VC++实现应用程序对插件的支持
VC++实现应用程序对插件的支持 目前,不少流行软件都提供有对外挂插件的支持功能,如Winamp、Realplay等等。这些软件通过对插件技术的使用为日后的软件升级和功能扩展提供了相当的便利条件。尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户转载 2007-05-14 14:09:00 · 749 阅读 · 1 评论 -
VC编程制作系统托盘程序
VC编程制作系统托盘程序Windows操作系统中的某些程序运行时不显示运行窗口,只在任务栏上显示一个图标,表示程序正在运行,用户可以通过鼠标与应用程序交互,比如金山毒霸等应用程序,我们有时也需要编制一些仅在后台运行的类似程序,为了不干扰前台程序的运行界面和不显示不必要的窗口,应使程序运行时的主窗口不可见。同时将一个图标显示在任务栏右端静态通告区中并响应用户的鼠标动作。下面介绍Visual转载 2007-05-14 14:11:00 · 682 阅读 · 0 评论 -
自己动手制作一款简洁实用的图片浏览器
自己动手制作一款简洁实用的图片浏览器软件DIY,说白了就是利用现有的类库、组件,快速构造出自己的程序出来。就象你找来各种电脑配件,然后把它们装配成整机一样;但也有不一样的地方,电脑配件即使是旧的二手配件,怎么说也得花一点钱,而软件的类库、组件,你有时侯可以免费得到。 我想要DIY的,是一款简洁实用的图片浏览器。众所周知,ACDSee是最流行的图片浏览器,确实很不错。但作为一名程序员,我想,要是转载 2007-05-14 14:13:00 · 1632 阅读 · 0 评论 -
VC实现多格式图像的转换
VC实现多格式图像的转换色彩鲜艳漂亮的高品质图像,一个个形象生动的Windows图标,高速运动、活灵活现的三维动画,这些无一不显示出程序设计者的艺术才华。在程序设计中,图像处理已经成为每个程序员的必修课。 在VC中编程显示一幅位图,下列步骤是不可缺少的: 装入位图、获得位图的大小信息、启用设备环境、位传输等,所需的程序代码一般比较冗长而且复杂。如果想将装入的位图另存为其他格式的图像文件,代码就转载 2007-05-14 14:14:00 · 1311 阅读 · 1 评论 -
列表显示所有网上邻居
列表显示所有网上邻居网上邻居的查找在www.codeguru.com上有例子,只是它把它做成了类,本是好事,但对大家理解它的原理增加了难度,所以现在把它实现在一对话框中,以便大家能一目了然。#include #pragma comment(lib, “mpr.lib”)BOOL CNetEnum2Dlg::Enumerate(LPNETRESOURCE lpNetRC_p){HAN转载 2007-05-14 14:17:00 · 1083 阅读 · 0 评论 -
TCP/IP Winsock编程要点
TCP/IP Winsock编程要点利用Winsock编程由同步和异步方式,同步方式逻辑清晰,编程专注于应用,在抢先式的多任务操作系统中(WinNt、Win2K)采用多线程方式效率基本达到异步方式的水平,应此以下为同步方式编程要点。 1、快速通信 Winsock的Nagle算法将降低小数据报的发送速度,而系统默认是使用Nagle算法,使用 int setsockopt( SOCKE转载 2007-05-14 14:18:00 · 611 阅读 · 0 评论 -
Windows Socket API 使用经验
Windows Socket API 使用经验本文是我在进行MS-Windows、HP-Unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。 一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );转载 2007-05-14 14:19:00 · 559 阅读 · 0 评论