采用非递归方式遍历目录及其子目录的文件
HOT

  搜索一个目录及其子目录下所有的文件是比较常见的需求,而采用递归方式进行搜索则是一个非常直观的算法。但是,由于目录中文件数量往往比较大,而每个文件名又往往占用许多空间,目录嵌套比较深的情况下,这种递归算法对于程序的堆栈是一个严重的威胁。本文给出一种非递归的算法进行目录下所有文件的检索和遍历。typedef BOOL (*PROCESS_FILE_FUNCTION)(LPCTS...
阅读全文

用VC++6.0的Sockets API实现一个聊天室程序
HOT

 1.VC++网络编程及Windows Sockets API简介  VC++对网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名的Berkeley...
阅读全文

通过COM技术实现Windows外壳编程
HOT

 摘要:本文介绍了一种有别于通常的Windows外壳编程方法。采用COM技术,通过Windows提供的外壳接口实现对其的编程。  一、 引言  在Windows环境下,不论是使用Visual C++还是Delphi或是其他一些软件开发工具,尽管存在着差别,但有一点是相同的:都是运行于Windows操作系统之下的。在程序开发过程中也经常要在自己的应用程序中加入一些Windows系统本身就有的功能,比...
阅读全文

计算圆周率 Pi (π)值, 精确到小数点后 10000 位
HOT

大家都知道π=3.1415926……无穷多位, 历史上很多人都在计算这个数, 一直认为是一个非常复杂的问题。现在有了电脑, 这个问题就简单了。电脑可以利用级数计算出很多高精度的值, 有关级数的问题请参考《高等数学》,以下是比较有名的有关π的级数:其中有些计算起来很复杂, 我们可以选用第三个, 比较简单, 并且收敛的非常快。因为计算π值, 而这个公式是计算π/2的, 我们把它变形:π = 2 + 2...
阅读全文

钩子的应用: 程序运行监视
HOT

程序介绍:利用这个程序:1.可以监视在你的电脑运行的程序, 把在你的电脑运行过的程序的时间和名字记录下来;2.可以阻止你规定的禁用程序的执行, 比如不让玩游戏。3.这个程序需要加入注册表, 在系统启动时就运行, 达到监视的目的。注册表大概都不陌生,就是这里: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Run程序的记录...
阅读全文

CPU 测速(MHz)和高精度延时(微秒级)
HOT

一.高精度延时, 是 CPU 测速的基础Windows 内部有一个精度非常高的定时器, 精度在微秒级, 但不同的系统这个定时器的频率不同, 这个频率与硬件和操作系统都可能有关。利用 API 函数 QueryPerformanceFrequency 可以得到这个定时器的频率。利用 API 函数 QueryPerformanceCounter 可以得到定时器的当前值。根据要延时的时间和定时器的频率, ...
阅读全文

用 C++ Builder 编 Microsoft SQL Server 2000
HOT

本文参考文章:MD5 Hash SQL Server Extended Stored Procedure作者: Vic Mackey文章链接: http://www.codeproject.com/database/xp_md5.asp原文是用 Visual C++ 编的程序, 本文的程序是原文的程序修改成的 C++ Builder 程序。这个存储过程是计算 MD5 值的,可以用来进行密码认证加密...
阅读全文

在图形界面程序里使用控制台窗口
HOT

实现功能: 打开控制台窗口、关闭控制台窗口、在控制台窗口里执行DOS命令、清除控制台窗口、光标定位、输出文本、设置文本颜色等。适用平台: Windows 9x/Me/NT/2000/XP/2003程序需要自己创建一个 TConsoleWindow 类, 先看看如何使用这个类。新建工程, 在 Form1 上放 5 个按钮, 分别为: 打开控制台窗口、执行DOS命令、输出文本、在指定位置输出彩色文本、...
阅读全文

C++代码优化方法总结
HOT

一. 优化之前 在进行优化之前,我们首先应该做的是发现我们代码的瓶颈(bottleneck)在哪里。然而当你做这件事情的时候切忌从一个debug-version进行推断,因为debug-version中包含了许多额外的代码。一个debug-version可执行体要比release-version大出40%。那些额外的代码都是用来支持调试的,比如说符号的查找。大多数实现都为debug-version...
阅读全文

至少应该阅读的九本C++著作
HOT

C++语言吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程序库以及书籍著作等,数不胜数。对于读者来说,倘若限于经济等客观因素而必须做出折衷取舍,我推荐至少阅读以下几本书:
阅读全文

VC下的函数地址
HOT

最近突然有一位同事问我关于虚拟继承(virtual inheritance)的问题,我记得在《虚拟与多型》(繁体版,1998年)里读到过,也许当时读的匆忙,一知半解的,所以现在也答不清楚。于是,我又拿起这本书重新读了第二章C++物件模型。这一次我读的仔细多了。在这章的结尾作者,侯捷老师留下了一个关于函数地址的疑问。在网上搜了一下,没有发现有人解答过这个问题,正好最近比较空,所以就下决心研...
阅读全文

内存漏洞的检查
HOT

也许你已经知道,在C++和C语言中指针问题也就是内存申请与释放是一个令人头疼的事情,假如你申请了内存,但没有释放,并且你的程序需要长时间地运行,那么,系统的资源将逐渐减少,当系统的资源全部被用完时,系统将会崩溃。所以在开发程序的过程中一定要保证资源的完全释放。下面我们来介绍内存漏洞的检查。 也许你会问,系统是怎样支持内存漏洞的检查的?其实在你的Debug版本中所有的有关内存分配的函数都是被重载过的...
阅读全文
153 页 / 共 196