
B.Visual C++
do2jiang
http://www.mythroad.net/modou
展开
-
用VC++建立Service服务应用程序
用VC++建立Service服务应用程序VC知识库出品 本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用原创 2009-04-17 18:52:00 · 961 阅读 · 0 评论 -
sizeof(long double)
据我所知,double和long double都是ANSI C标准的浮点数。但ANSI C并未规定long double的确切精度。所以对于不同平台可能有不同的实现。有的是8字节,有的是10字节,有的是12字节或更多。一般来说long double的精度要高于double, 至少相等,就像int和long int一样。但同一平台也可能不一样,比如MS自己的C/C++/VC++就不一样。好原创 2009-09-13 16:04:00 · 5007 阅读 · 3 评论 -
fopen与open区别
(一)1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”,装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存“缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速原创 2009-09-14 15:39:00 · 1452 阅读 · 0 评论 -
String类的实现
#include #include using namespace std;class MyString{public: MyString(); ~MyString(){} MyString(const char* str); MyString(MyString & str); MyString & operator=(const MyString & str);原创 2009-09-15 16:55:00 · 1097 阅读 · 0 评论 -
String类的实现(转)
//代码参考C++primer.//String类的实现,清翔兔 06,Jan. #includeusing namespace std; class String{ friend ostream& operatorpublic: String(const char* str=NULL); //赋值构造兼默认构造函数(c转载 2009-09-15 17:02:00 · 980 阅读 · 0 评论 -
拷贝构造函数与赋值函数 的鉴别
(1)测试一下自己,能区分么?String a("zhangbufeng");String b("cuixiaoyuan");String c(a);//对象创建时,使用拷贝构造函数c=b; //c已经被初始化,从而调用了赋值函数。上次多写了个String,造成了重定义。 (2) code 验证 #include #include using name原创 2009-10-16 19:54:00 · 1447 阅读 · 0 评论 -
STL剖析:从capacity()和resize()看容器的内存分配思想
这个blog来源于一个朋友提出的的问题 下面的代码想输出0-9,可不行。原因是iterStart居然等于iterEnd,为什么? list li; vector vi; for(int c=0;c vi.reserve(li.size()); copy(li.begin(),li.end(),vi.begin()); vector::iterator it原创 2009-10-18 13:07:00 · 2450 阅读 · 1 评论 -
C++拷贝构造函数的几个细节
关键字: c++ 拷贝构造函数是C++最基础的概念之一,大家自认为对拷贝构造函数了解么?请大家先回答一下三个问题:1. 以下函数哪个是拷贝构造函数,为什么?X::X(const X&); X::X(X); X::X(X&, int a=1); X::X(X&, int a=1, b=2); 2. 一个类中可以存在多于一个的拷原创 2009-10-19 21:53:00 · 1058 阅读 · 0 评论 -
Hash知识介绍
9.3.2 哈希函数的构造方法 什么是好的哈希函数:均匀的哈希函数 均匀的哈希函数——对于关键字集合中的任一个关键字,经哈希函数映象到地址集合中任何一个地址的概率是相等的,则称此类哈希函数是均匀的哈希函数。 常用的构造哈希函数的方法有:(1)直接定址法 (2)数字分析法 (3)平方取中法(4)折叠法 (5)除留余数法 (6)随机数法原创 2009-10-19 22:29:00 · 2369 阅读 · 1 评论 -
RAID技术简介
在计算机发展的初期,“大容量”硬盘的价格还相当高,解决数据存储安全性问题的主要方法是使用磁带机等设备进行备份,这种方法虽然可以保证数据的安全,但查阅和备份工作都相当繁琐。1987年, Patterson、Gibson和Katz这三位工程师在加州大学伯克利分校发表了题为《A Case of Redundant Array of Inexpensive Disks(廉价磁盘冗余阵列方案)》原创 2009-11-05 21:43:00 · 1264 阅读 · 0 评论 -
基于JRTPLIB库的RTP数据传输设计文档
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class原创 2010-03-02 12:00:00 · 2314 阅读 · 2 评论 -
单元测试工具Numega
1 前言我在本文中详细介绍了测试工具NuMega Devpartner(以下简称NuMega)的使用方法。NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便、功能有效。NuMega共有三个独立的子功能——BoundsChecker、TrueCoverage、TrueTime。BoundsChecker为代码检错工具,TrueCoverage为测试覆盖率统计转载 2010-03-21 21:39:00 · 1308 阅读 · 0 评论 -
在C++中实现foreach循环
使用过C#、PHP这些更高级语言的朋友一定知道foreach循环。foreach语句给编程带来了很大的方便,减少了代码,并增加了程序的可读性。C++虽然不支持foreach关键字,但C++是一门强大的语言,只要稍微用一点小技巧,也可以在C++中使用foreach循环。在C#中,foreach语句的效果让人吃惊。foreach语句省去了复杂而又类似的循环控制语句,使代码非常简原创 2010-01-10 15:27:00 · 2802 阅读 · 2 评论 -
如何使应用程序只运行一个实例(VC)
要使应用程序只运行一个实例,一个简单的方法是在应用程序类中使用互斥量,这可以用VC下的GUIDGEN.EXE程序产生.GUIDGEN.EXE位于VC安装目录CommonTools目录下实例1: 新建一基于对话框的工程ex1,采用默认设置2: 用GUIDGEN.EXE产生一个全局标志,#define one "产生的全局标志"本例中产生的语句如下:#define one "0xbe8e2ce1, 0原创 2009-09-13 15:07:00 · 1403 阅读 · 0 评论 -
钱能c++以 局部函数 引出 函数调用机制中疑惑解答
钱能c++ 局部函数 #includeint func1();int func2();void main(){func1();cout}int func1(){int n=12345;return n;}int func2(){int m;return m;}会输出什么呢?钱能的书中讲述输出 12345。测试结果VC6:Debug:-858993460Press any key t原创 2009-09-13 16:34:00 · 1205 阅读 · 1 评论 -
C/C++ 字节对齐问题
VC中下面几个结构体大小分别是多少呢struct MyStruct { double m4; char m1; int m3; }; struct MyStruct { char m1; double m4; int m3; }; #pragma pack(push) //保存对齐状态 #pragma pack(16) //设置原创 2009-09-11 23:42:00 · 1389 阅读 · 0 评论 -
Visual C++ 中操纵 MS Word 123
Visual C++ 中操纵 MS Word 123VC知识库出品 转帖 使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程原创 2009-04-17 14:04:00 · 1320 阅读 · 0 评论 -
VC利用WORD替换功能打印发票
VC利用WORD替换功能打印发票 摘自网络 在用VC开发一项目时,需要打印发票。由于发票的种类比较多,而且有的是已经有文字,有的空白的,还有一部分文字是可变的,动态改变。如果用VC直接控制它的输出,是一件很烦人的事情,而且工作量巨大,因此考虑到office的word文字操作软件有杰出的文字操作功能,并且它有相关的VBA函数用于二次开发。在VC中当然也会提供相应的操作函数,只原创 2009-04-17 14:11:00 · 1558 阅读 · 0 评论 -
VC自动打开Word文档并打印
VC自动打开Word文档并打印VC知识库出品 转载摘要这篇文章讲述了如何在Visual C++5.0或6.0中自动打开并打印Microsoft Word文档。更多信息你可以将文章中的代码拷贝到自己的MFC .cpp文件中的事件定义消息处理函数中去。然而,这些代码主要是为了阐述如何处理在Msword8类型库中定义的IDispatch接口与成员函数。读懂并理解了这些代码你就可以修改这些例原创 2009-04-17 14:36:00 · 3912 阅读 · 0 评论 -
如何在MSWord中加入MSAgent
如何在MSWord中加入MSAgentvc知识库出品下载源代码 在每天的工作中使用Word是必须的工作,在使用MSWord的时候,使用帮助能帮助我们省下不少的时间,可是每天使用Word的时候都是对着限定的几个Assistant, 感觉有点闷 ,当我在网上看到微软推出的MSAgent技术时,我想,为何不可以有这些角色用到MSWord中去呢? 虽然不可能做到MSWord中的所有功能,不过,我想在原创 2009-04-17 15:25:00 · 1255 阅读 · 0 评论 -
ASCII码表
ASCII码表信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 八进制十六原创 2009-04-17 16:19:00 · 971 阅读 · 0 评论 -
VC中判断目录,文件是否存在,创建目录的方法
VC中判断目录,文件是否存在,创建目录的方法 目录是否存在的检查:BOOL FolderExist(CString strPath){ WIN32_FIND_DATA wfd; BOOL rValue = FALSE; HANDLE hFind = FindFirstFile(strPath, &wfd); if ((hFind原创 2009-04-17 17:52:00 · 1202 阅读 · 0 评论 -
变参函数的设计原理
理解va_list、va_start、va_arg、va_end原理及其使用方法 概述由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题进行讨论. 定义大家先看几宏.在VC++6.0的include有一个stdar原创 2009-04-22 15:33:00 · 912 阅读 · 0 评论 -
#pragma详解
#pragma详解在#Pragma是预处理指令它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。原创 2009-04-22 15:21:00 · 1185 阅读 · 0 评论 -
CWnd类虚函数的调用时机、缺省实现
CWnd类虚函数的调用时机、缺省实现FMD(http://www.fmdstudio.net)1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9原创 2009-04-22 18:22:00 · 1150 阅读 · 0 评论 -
浅析IO缓冲区
作者:华清远见高级讲师 曾宏安学习过编程的朋友都知道ANSI C里定义的标准I/O是一种带缓冲的高级磁盘I/O,目的是尽可能减少使用read和write系统调用的次数,从而提高I/O效率。标准I/O提供了3种类型的缓冲类型。全缓冲。在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对驻留在磁盘上的文件的访问通常是由标准I/O库实施全缓冲的。行缓冲。在这种情况下,当在输入和输出中原创 2009-08-23 21:29:00 · 3768 阅读 · 0 评论 -
回调函数和函数指针
什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数因为使用回调函数可以把调用者和被调用者分开,调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。回调函数就好像是一个中断原创 2009-08-28 22:41:00 · 1262 阅读 · 0 评论 -
cdecl, stdcall, pascal,fastcall 调用约定区别
调用约定 压参数入栈顺序 把参数弹出栈者 函数修饰名 (Calling convention) --------------------------------------------------------------------------------------------------------__cdecl 右->左转载 2009-08-28 22:57:00 · 1500 阅读 · 0 评论 -
List of Best Open Souce projects written in VC++/MFC
List of Best Open Souce projects written in VC++/MFC7-Zip (http://sourceforge.net/projects/sevenzip/) : 7-Zipis a file archiver with the high compression ratio. The programsupports 7转载 2010-05-13 09:50:00 · 1502 阅读 · 0 评论