
VC/C++
yyyzlf
这个作者很懒,什么都没留下…
展开
-
C++判断IP
临时保存,回头测试//判断一个IP地址是否合法,耗时2hvoid main(void){ char s[16]; memset(s,/0,16); int IP[5]={0,0,0,0}; int i=0,j=0,count=0; cout<<"Please input an IP address/n"; cin>>s; int StrLenth=str原创 2009-07-17 13:00:00 · 2279 阅读 · 0 评论 -
改进过的快速排序,正好输出10个
#include #include #include #define N 10#define M 3 int simqs(int *a,int n); void partqs(int *a,int n,int k){ int m=0; if(n>0) { m=simqs(a,n); if(m<=k) partqs(a+m+1原创 2009-07-22 08:38:00 · 722 阅读 · 0 评论 -
vc++ 虚函数作用
实现动态连编,即执行哪个函数不是编译时就决定的,而是运行时才绑定的. for example: 比如你想定以几个类来表现狗和猫的行为,它们都会叫,但是叫声不同(猫为喵喵,狗为汪汪),你就定义一个基类: class Animal { public: virtual原创 2009-08-05 16:39:00 · 862 阅读 · 1 评论 -
VC中链接动态链接库的方法
方法一:windows提供了一套函数,用于加载动态链接库中的符号(函数和变量),调用这些函数去加载: 1. HINSTANCE LoadLibrary( LPCTSTR lpLibFileName); 2. FARPROC GetProcAddress( HMODULE hModule, LPCWSTR lpProcName); 3. BOOL FreeLibra原创 2009-08-06 14:52:00 · 1035 阅读 · 0 评论 -
vc++ External dependencies
External Dependencies是说你没有把这个文件加入到这个工程中,但是需要这个文件的支持。当然有时是误操作。比如你从工程里面删除了abc.h但是在其中一个文件中用#include包含了这个文件,那么,abc.h就会进入External Dependencies中。.cpp文件比必须加到工程的Source Files中,否则编译link时候总是出错。而加进去就没有问题。原创 2009-08-06 18:40:00 · 12107 阅读 · 4 评论 -
看书笔记
OnDraw(CDC* pDC){ CPen pen1,pen2; pen1.CreatePen(PS_SOLID,2,RGB(128,128,128));//创建对象 pen2.CreatePen(PS_SOLID,2,RGB(128,128,0));//创建对象 CPen* pPenOld=(CPen*)pDC->SelectObject(&pen1);//选择对象进DC原创 2009-08-11 19:51:00 · 838 阅读 · 0 评论 -
vc6 unicode
VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。 使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项。 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNI原创 2009-08-13 15:02:00 · 947 阅读 · 0 评论 -
VC6 MFC xp风格
效果图:英文网址:http://www.codeproject.com/KB/toolbars/IngoExpBar.aspx//------------------ExpBar_src文件为xp风格-----------------------详细用法: 1.添加文件sizecbar.h, sizecbarcf.h, sizecbarg.h, explorerbar.h, E原创 2009-08-13 15:58:00 · 1603 阅读 · 2 评论 -
MFC vc++6 读写Excel
1.Ctrl+W 执行 ClassWizard2.Add Class.../From a type Library... 在 Office 目录中,找到你想使用的类型库。(excel.exe)根据需要添加,(可以全部)(2003)3.包含头文件#include "excel.h"4.详见msdn:Automating Microsoft Office 97 and Microsoft原创 2009-08-14 16:26:00 · 4987 阅读 · 0 评论 -
#pragma 预处理指令详解
在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来转载 2009-08-18 10:55:00 · 591 阅读 · 0 评论 -
基础篇:VC对话框小知识
总结几点VC中关于对话框小知识供大家参考。 一、对话框属性 1.Styles->Clip siblings:排除子窗口之间的相对区域,也就是说,当一个特定的窗口接收到绘图消息时,将所有重叠窗口排除在外,只重绘指定的子窗口。 Styles->Clip children:当在父窗口内绘图时,排除子窗口区域。 2.More Styl转载 2009-08-21 09:03:00 · 2321 阅读 · 0 评论 -
如何给CTreeCtrl 添加右键菜单
如何给CTreeCtrl 添加右键菜单首先定义右键消息函数: afx_msg void OnRBClick(NMHDR* pNMHDR, LRESULT* pResult); 然后在消息循环中定义消息对应关系: ON_NOTIFY(NM_RCLICK, ID_TREECTRL, OnRbCli原创 2009-08-24 11:35:00 · 9027 阅读 · 0 评论 -
图像列表控制(CImageList)
图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现。 一、图像控制的对象结构1原创 2009-08-25 16:38:00 · 720 阅读 · 0 评论 -
轻松实现类VC界面(停靠窗口)
转载 2009-08-27 23:01:00 · 1494 阅读 · 2 评论 -
CListCtrl用法
1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” ------转载 2009-08-28 11:36:00 · 571 阅读 · 0 评论 -
VC常用插件和界面库
VC 常用插件 1.Visual Assist(强烈推荐)http://www.wholetomato.com/ VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件、类和变量。2.WndT转载 2009-08-30 16:53:00 · 812 阅读 · 0 评论 -
ado excel
利用ADO操作Excel文件http://blog.youkuaiyun.com/tabby/archive/2007/11/16/1889217.aspx http://topic.youkuaiyun.com/u/20090829/12/55b9484b-e38a-401f-9156-2c641321afa2.html?38273 参考转载 2009-08-30 22:53:00 · 521 阅读 · 0 评论 -
vc 读书笔记
全局函数AfxGetApp可以得到CWinApp应用类指针 AfxGetApp()->m_pMainWnd为框架窗口指针 在框架窗口中:CFrameWnd::GetActiveDocument得到当前活动文档指针 在框架窗口中:CFrameWnd::GetActiveView得到当前活动视指针 在视中:CView::GetDocument得到对应的文档指针 在文档中:CDo原创 2009-09-10 22:07:00 · 522 阅读 · 0 评论 -
字符串原始匹配和二叉树相等算法
1.原始字符串匹配,修改#include "stdafx.h"#include "iostream"using namespace std;int Index(char S[],int Slen,char T[],int Tlen,int pos);int main(int argc, char* argv[]){ char ss[]="helloworld原创 2009-09-14 19:05:00 · 1373 阅读 · 0 评论 -
MFC 实现自绘菜单
//首次查找msdn,CMenu的OverridablesDrawItemCalled by the framework when a visual aspect of an owner-drawn menu changes.MeasureItemCalled by the framework to determine menu dimensions w转载 2009-09-21 23:23:00 · 6638 阅读 · 0 评论 -
如何使用extern以及static
如何使用extern以及static extern 和static的使用方法,应该属于C语言的基础知识了。可是,在实际工作中,还是经常会在代码里看到关于这两个限定符使用的问题,总结一下,大致有两类:其一,对于模块中的变量或者函数,不了解到底加不加static 或者 extern修饰符;其二,在加限定符的时候,不知道正确的使用方法。因此,有必要旧话重提,说明一下。 简单的说,记住转载 2009-09-30 12:38:00 · 1101 阅读 · 0 评论 -
非静态函数,非静态变量与静态函数,静态变量
非静态函数,非静态变量与静态函数,静态变量一、函数函数的引入可以减少程序的目标代码,实现程序代码的共享。但是,函数调用也需要一些时间和空间方面的开销,因为调用函数实际上将程序执行流程转移到被调函数中,被调函数的程序代码执行完后,再返回到调用的地方。这种调用操作要求调用前保护现场并记忆执行的地址,返回后恢复现场,并按原来保存的地址继续执行。对于较长的函数这种开销可以忽略不计,但是对于一些函数体代码很转载 2009-09-30 12:39:00 · 766 阅读 · 0 评论 -
读书笔记2009-09-29
//分割字符串CString str = _T("ab ac dd PM"); TCHAR seps[] = _T(" "); TCHAR* token = _tcstok( str.GetBuffer(), seps ); while( token != NULL ) { MessageBox( token, token, MB_OK ); token = _tcstok( N原创 2009-09-29 16:51:00 · 1071 阅读 · 0 评论 -
VC的若干实用小技巧(三)
Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助。 1:使用中文VC(VC++在中文平台下可以使用中文,但编译后那些按钮上的、对话框上的中文都成ASCII码了) 因为VC++在安装时是默认按单字节字符安装的,而中文字符是双字节编码,自然就不能正确显示了。 解决方法:转载 2009-10-10 08:40:00 · 417 阅读 · 0 评论 -
文件记录排序
你现在有一个文件,文件中顺序存有N个记录,R1,R2,...,RN,这些记录不是有序的,但是你知道一个整数M,这些记录满足R1以及RM+11,设计一个算法或编写一个程序,将文件中的记录排序为R1算法或程序读取文件的次数为O(N),不限内存使用,2,设计一个算法或编写一个程序,将文件中的记录排序为R1算法或程序读写文件的次数为O(N),空间复杂度为O(1),(亦即,你使用的内存大小和转载 2009-10-12 13:08:00 · 1264 阅读 · 0 评论 -
不用临时变量实现两个数的交换
不用临时变量实现两个数的交换方法1. a+=b; b=a-b; a=a-b;方法2. a^=b; b^=a; a^=b;原创 2009-10-10 12:24:00 · 526 阅读 · 0 评论 -
vc automation 写excel文件
1.类向导(ctrl+w),add class ---from a type library -----导入excel.exe(excel 2003)2.包含头文件#include "excel.h"3.编写代码,例: CoInitialize(NULL);//启动excel进程 COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERR原创 2009-10-09 12:08:00 · 1442 阅读 · 3 评论 -
C++ 优先级
几个常用的:[]大于* ->大于*原创 2009-10-16 08:42:00 · 600 阅读 · 0 评论 -
函数不能返回临时变量,可以采用输出参数形式
由于函数不能返回临时对象,所以可以采用参数是out的情形,例如:fun的输出参数为out形式,CString是对象,但是在输出的时候不能直接cout#include #include //CString头文件,采用debug编译模式using namespace std;void fun(CString& a){ a = "qqqqqqq";}void ma原创 2009-10-16 10:07:00 · 783 阅读 · 2 评论 -
快速排序
快速排序算法思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快排#include using namespace std;int quicksort(int a[], int low, int high)原创 2009-10-17 22:52:00 · 595 阅读 · 0 评论 -
字符串库函数
char * __cdecl strcpy(char * dst, const char * src){ char * cp = dst; while( *cp++ = *src++ ) ; /* Copy src over dst */ return( dst );原创 2009-10-18 09:57:00 · 854 阅读 · 0 评论 -
类static成员
#include using namespace std;class A{ int a; static int b;};void main(){ cout<<sizeof(A)<<endl;}输出4Press any key to continue 1.前言类的static成员不属于类的对象成员,也没有this指针,类生成N个对原创 2009-10-19 12:47:00 · 732 阅读 · 0 评论 -
VC++笔记
const成员不能改变其所操作的对象的数据成员。const必须同时出现在声明和定义中。若只出现在其中一处,就会出现一个编译错误。数组在概念上类似于vector,但既不是抽象的,也不是封装的。可以通过访问存放数组的内存来直接操作数组。static成员函数没有this形参,它可以直接访问所属类的static成员,但不能直接使用非static成员。 CMainFrame *m_pMainFram原创 2009-10-20 12:10:00 · 518 阅读 · 1 评论 -
优先级口诀
括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = 等于(与)不等排第七; //即== 和!=位与异或和位或; //这几个都是位运算: 位与(&转载 2009-10-22 19:39:00 · 565 阅读 · 0 评论 -
clistctrl 详细看
ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。 先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Eff转载 2009-10-26 19:20:00 · 653 阅读 · 0 评论 -
clistctrl 显示图片,详细步骤
1.注意要设置clistctrl的扩展属性,保证列表subitem能加载图片属性//初始化对话框中,选择多个文件 m_ImageList.Create(16,16,ILC_COLOR24,0,1); //创建图示 m_list.SetImageList(&m_ImageList,LVSIL_SMALL); //与列表控件相关连 m_list.SetExtendedStyle(m原创 2009-10-26 19:23:00 · 3693 阅读 · 2 评论 -
CString,int,string,char*之间的转换
...............................................................《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”"0“的字符串数组 2,c_str(),返回有”"0“的字符串数组 3,copy()...................................转载 2009-11-05 18:11:00 · 534 阅读 · 0 评论 -
vc 中英文截取
1.strOut为输出参数2.函数功能:输出nMaxLen个字符(包括中英文)比如:16个英文字符和16个中文字符。str为输入字符串 void CMainFrame::InterceptLenth(CString& str,int nMaxLen,CString& strOut){ int i= 0; int last = 0; char *s = str.GetB原创 2009-11-05 19:54:00 · 735 阅读 · 0 评论 -
通过载入bitmap来设置ctoolbar
//工具栏TBSTYLE_FLAT if (!m_wndToolBar.CreateEx(this, TBSTYLE_CUSTOMERASE, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))//载入工具栏IDR_MAINFRAME {原创 2009-10-27 15:09:00 · 1245 阅读 · 0 评论 -
求一个字符串中的单词个数
1. 求一个字符串中的单词个数?待解。。。。。2.多线程编程,STL源码,windows核心编程,深度探索C++对象模型3.背包问题4.c++primer 习题集 //一些笔记备注CMainFrame *pFrm =(CMainFrame*)AfxGetMainWnd(); COLORREF mask/*要过滤掉的颜色值*/ 取消全部mark ctrl+原创 2009-10-29 19:05:00 · 719 阅读 · 0 评论