- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 C++ map的使用
C++ map的基本操作和使用<br /> 来源:(http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html) - C++ map的基本操作和使用_Live_新浪博客<br /> Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!<br />1. map最基本的构造函数;<br /> map<string , int >mapstring;
2010-06-22 15:06:00 173878 19
转载 string类的方法
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:
2009-09-08 18:38:00 3112
转载 将字符串按指定字符截断分组的一种方法
string str = ac, ef,11,foj, ki"string tempstring; while(1) { int pos = str.find(,); if(pos==0) { str = str.substr(1); continue;
2009-09-08 18:31:00 2030
原创 Unicode下 TCHAR* 和CString转string的一种方法
1)TCHAR* 转string TCHAR exePathAndName[MAX_PATH]; GetModuleFileName(NULL, exePathAndName, MAX_PATH); (_tcsrchr(exePathAndName,//))[1]=0; USES_CONVERSION; string filepath = T2A
2009-09-06 20:45:00 4386
转载 char *、CString和string之间的类型转换
1、string 转 CString CString.format("%s", string.c_str()); 方法二: char* pchar= string.c_str(); CString scstr(pchar);2、char * 转 CString CString.format(
2009-08-30 11:19:00 777
转载 #pragma once与 #ifndef的区别
#pragma once与 #ifndef的区别 (转自http://www.cppblog.com/szhoftuncun/archive/2007/10/28/35356.html )为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一:
2009-08-27 21:12:00 604
原创 自定义消息传递(从对话框到视图)
问题:系统通过菜单项弹出一个对话框,需要视图响应该对话框的消息并更新视图。不可能在视图类中直接建立对话框控件的消息响应函数,因此需要自定义消息传递。由对话框发出消息,视图类接收,并作出重绘动作更新视图。 解决方法: 1)在应用程序类的头文件中,C***App类声明的前面定义消息宏:#pragma once#include "resource.h" #defin
2009-08-25 11:31:00 1829 1
原创 使用异或运算实现菜单项功能的启用与关闭
在MFC程序设计中,经常有这样的问题:点击一个菜单项启动某项功能,再点击一次取消该功能,再点击又启动该功能,再点击又取消该功能.......。尤其是有多个菜单项功能的时候,如何有效组织各个菜单项各自的状态,保证互不干扰,且实现简练。 本文以一个三维绘图程序为例,介绍使用异或状态运算实现菜单项功能的启用与关闭。假设在三维场景中有5种场景要素:天空、地面、房屋、道路、树木。程序要求实现这样的功
2009-08-23 09:32:00 873
转载 VC获取系统时间、程序运行时间
VC获取系统时间、程序运行时间2009-07-26 01:01VC获取系统时间、程序运行时间1.使用CTime类CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK);2: 得到系统时
2009-08-01 09:30:00 749
原创 OLE
OLE Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型。 OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程
2009-07-25 21:49:00 820
原创 CUDA(转自百度百科)
CUDA CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言
2009-07-25 21:20:00 1035
转载 onDraw和onPaint函数的区别
onDraw和onPaint函数的区别 转自:http://hi.baidu.com/ncudlz/blog/item/6ccbc43d90836305baa16715.html CWnd::OnPaint() 是CWnd类的成员函数,是WM_PAINT 消息的响应函数.当你调用CWnd::UpdateWindow(),CWnd::RedrawWindow()时, 或者窗口被其
2009-07-18 19:59:00 1368
转载 Invalidate()与UpdateAllviews()的区别
Invalidate()与UpdateAllViews转自:http://hi.baidu.com/ncudlz/blog/item/6ccbc43d90836305baa16715.htmlInvalidate()是让程序重画窗口。 UpdateAllViews()是在DOC/VIEW结构中,当一个视图的数据改变后,通知所有视图作相应的改变,和重画毫无关系
2009-07-18 19:56:00 1423
原创 VS2005中fstream不能读取中文路径名的解决方法
解决方法有2个1.第一个使用vs2005默认的unicode set并在所有字符串外面面加上_T() 或者_TEXT宏,代价是原来所有不符合unicode规范的地方你都必须得改.2.使用not set 或者"mutibyte set" 并在程序初始化的时候调用setlocale()如下BOOL CtestiostreamApp::InitInstance(){ setlocale(LC
2009-07-16 16:05:00 893
转载 ofstream的使用方法
1ofstream的使用方法 ofstream的使用方法 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默
2009-07-16 15:33:00 1458
原创 获取视图类指针的方法
CMainFrame* pMainFrame = (CMainFrame*)::AfxGetMainWnd();CTestView* PTestView = (CTestView*)pMainFrame->GetActiveFrame()->GetActiveView();
2009-07-13 21:09:00 779
转载 函数声明尾加const的作用
void name () const; 函数声明尾加const说明这个函数不可以修改类的成员变量(或者说不可以改变对象的内部状态)。因此,加了const的函数: (1)不能修改成员变量; (2)不能调用非const函数; (3)其他const函数可以调用它;(其他非const函数当然也可以调用它) (4)只能从const对象(或引用用
2009-07-09 15:54:00 4321 1
转载 #ifndef的作用
#ifndef #ifndef x #define x ... #endif 这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等 #ifndef x //先测试x是否被定义过 #define x //如果没有定义下面就定义x并执行下面的语句 ... #endif //如果已经定义了则执行#e
2009-07-09 15:09:00 1265
转载 CString,String,Char*的比较
CString,string,char*的综合比较(宗成庆博士)(2009-04-04 21:50:05)(一)概述string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;CString(typedef CStringT> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,
2009-07-07 15:17:00 1018
原创 c++中全局变量的声明与使用
1.extern的作用 extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b); 则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的, C++的规则在翻译这个函数名时会把fun这个名字变得面目全非,可能是fun@aBc_int_int#%$也可能是别的,这要看编译器的"脾气"了(不同
2009-07-07 10:44:00 15015 2
原创 VS2005中一种获取项目可执行文件路径的方法
首先声明存储路径的字符数组,建议使用TCHAR类型,便于不同字符集类型的兼容。然后调用全局函数GetModuleFileName(),获取得到的是包含可执行文件名的路径,可以根据需要对字符串进行操作及类型转换。 TCHAR exePathAndName[MAX_PATH]; GetModuleFileName(NULL, exePathAndName, MAX_PATH);
2009-07-07 10:19:00 2286
原创 关于虚拟函数的一些总结 (参考:深入浅出MFC 第二版 候俊杰)
关于虚拟函数实现多态的总结: 1)如果希望在派生类别中重新定义父类的某个函数,则在父类中必须将此函数设为虚拟函数; 2)抽象类别的虚拟函数一般不被调用,所以也不必被定义,将其设为纯虚函数; 3)在不使用虚拟函数的情况下,若用父类的指针指向某个派生类的对象,则使用该指针调用某个函数时,会调用指父类的函数;而使用虚拟函数,则会调用父类指针指向的派生类别的函数。因此,虚拟函数可以
2009-06-22 09:35:00 1583
转载 关于Ontimer()函数
关于OnTimer() OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。 为类添加VM_TIMER消息响应,会看到类中多了个OnTimer(UINT nIDEvent)。 然后用SetTimer(1,10,NULL)就行了。第一个参数是ID,第二个是间隔时间
2009-06-19 21:37:00 14585 2
转载 C语言/C++中怎样产生随机数
C语言/C++中怎样产生随机数转自:http://www.hinn.cn/2008/03/cc_random.html By Aillo on March 14, 2008 10:52 PM | 0 Comments | Previous | Next | EDIT C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(
2009-06-19 21:22:00 2917
转载 向量容器的使用
向量 转自:http://hi.baidu.com/%C3%CE%CF%EB%B7%E7%D1%EF/blog/item/af672ecb08cb8c1dbf09e659.html C++中的标准模板库(STL, Standard Template Library)有三个主要组成部分:容器迭代器算法而STL容器可以分为三类:顺序容器关联容器容器适配器其中顺序容器又有三种预定义的容器
2009-06-18 20:04:00 2921
转载 string初始化的几种方法
string: string的若干初始化方法2008年12月12日 星期五 11:12c++字符串(string)若干初始化的方法:string test1; //空串string test2 = "内容"; //使用=string test3("内容"); //使用引用字符数组作为参数传给构造函数string test4(test2); //用一个string初始化另一
2009-06-17 21:02:00 100952 4
转载 语义的概念 (来自百度百科)
语义 数据的含义就是语义。简单的说,数据就是符号。数据本身没有任何意义,只有被赋予含义的数据才能够被使用,这时候数据就转化为了信息,而数据的含义就是语义。 语义可以简单地看作是数据所对应的现实世界中的事物所代表的概念的含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示。 语义具有领域性特征,不属于任何论域的语义是不存在的。而语义异构则是指对同一事物在解释上所存在差异,也
2009-06-16 16:28:00 1798
原创 关于指针数组
请看代码:char *array1[3] = {"xuwenqiang","eurus","allove"}; char *p; p = array1[0]; cout cout p = array1[1]; cout p = array1[2]; cout 首先声明了一个包含三个元素的指针数组,并赋初值,数组的每个元素为字符串常量(字符串常量即为指针,指向首字符的地址)。
2009-05-30 15:57:00 400
原创 关于字符指针
代码:#include void main(){ char buffer[4] = "abc"; char *pc; pc = "hello"; cout pc++; cout cout pc = buffer; cout} buffer是字符数组,初始化为“abc”,buffer[3] = /0. pc是字符指针,定义时分配变量空间但未初始化。之后将字符串常量
2009-05-30 15:13:00 579
转载 全局变量 局部变量 静态全局变量 静态局部变量的区别
全局变量局部变量静态全局变量、静态局部变量的区别转自:http://hi.baidu.com/sindana/blog/item/06fe68171e364401c93d6ded.html 标签:全局变量 局部变量 静态全局变量 静态局部变量 it 分类:C/C++Program
2009-04-29 15:04:00 1460 1
转载 CCommandLineInfo
转自:http://blog.sina.com.cn/s/blog_4c9c4e2b0100aeol.htmlCCommandLineInfovar $tag=杂谈;var $tag_code=a987c6475b45f7c7a9b8d9ebfeff1323;标签:杂谈 在文档窗口创建的时候 ,它缺省总是会
2009-04-03 17:37:00 671
转载 OpengL 之说一
概述OpenGL - 高性能图形算法行业标准OpenGL? 是行业领域中最为广泛接纳的 2D/3D 图形 API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL?是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL? 帮助程序员实现在 PC、工作站、超级
2009-04-03 16:07:00 836
转载 学习 C++的五十条忠告 来自http://blog.csdn.net/redhat7890/archive/2008/12/23/3589701.aspx
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开
2009-04-03 10:59:00 1158
转载 VC Dll之一 (转载)
在我们实际用软件时,经常可看到许多动态连接库。动态连接库有其自身的优点如节省内存、支持多语种等功能,而且,当DLL中的函数改变后,只要不是参数的改变调用起的函数并不需要重新编译。这在编程时十分有用。至于其他妙处,各位在电脑杂志、书籍中都能看到,我这里再说就是废话了.这次小弟我所要讲的是如何在VC5.0中如何做自己的Win32 DLLs,各位要做自己的动态连接库,首先要知道DLL在VC5.0中都有哪
2009-04-01 09:18:00 636
原创 VS2005中CString 转 String的问题
上网查了很多CString转 String的方法,但都不成功,提示的错误是:error C2679: 二进制“=”: 没有找到接受“std::basic_string”类型的右操作数的运算符(或没有可接受的转换) 后来改项目属性:将项目字符集由:使用unicode,改为使用多字符集 问题就解决了。
2009-03-24 15:55:00 1204 1
转载 AfxMessageBox
error C2665: AfxMessageBox :(2008-09-27 00:11:34)var $tag=afxmessagebox,vs2005,error,c2665,杂谈;var $tag_code=e3b38460028f4bb6c052d9d210b1506a;标签:afxmessagebox vs2005 err
2009-03-24 15:42:00 1303
转载 CString 和 char*的转换
CString是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于CString 地址之下的一个隐藏区域)以及一个缓冲区长度。有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。(1) char*转换成CString
2009-03-16 14:59:00 623
转载 Typedef
typedef typedef用法小结- - 在C语言的情况下,与C++稍有出路。 这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下: 来源一:Using typedef to Curb Miscreant Code Typedef 声明有助于
2009-03-04 15:17:00 2915 2
转载 enum的用法
enum的用法如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!
2009-03-04 08:53:00 597
ArcGIS培训资料
2010-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人