C++学习
文章平均质量分 82
洋航
嵌入式软硬开发
展开
-
strtol 字符数组,转数值
字符串中有两个重要的函数:atol和strtol,它们的功能都是字符数组,转数值。但是用法差异较大。我们下面来说一下这两个函数在具体使用的时候要注意哪些方面。 首先,说atol。 这个函数定义为:[cpp] view plain copy print?long atol(const char* s); long atol(const char* s); 就是输入一个字符数...转载 2018-03-25 10:25:54 · 308 阅读 · 0 评论 -
va_list 用法
1 #include <cstdarg> //这里我们添加进来所需要的类库<csrdarg> 2 3 // first argument is int count of remaining args 4 // ... remaining args are doubles for average 5 6 dou...转载 2018-03-25 10:59:36 · 213 阅读 · 0 评论 -
MFC工具条与状态条设计
工具条/栏(tool bar)和状态条/栏(status bar)是构建友好GUI程序的通用标准,但它们并不是Windows API的标准部件,而是由应用程序框架(MFC)增加的一类控件。工具条是CToolBar类的对象,状态条是CStatusBar类的对象,这两个类都是控制条(栏)CControlBar的派生类,而CControlBar类又是从CWnd类派生的:CObject → CCmdT...转载 2018-03-30 22:40:00 · 535 阅读 · 0 评论 -
string table
越来越多的程序支持多语言切换,或者能自动适应当前系统语言,让自己开发的程序支持多语言不仅可以让自己的程序被国人使用,也能让外国程序爱好者使用。VC开发多语言程序有多种方法,或读取配置文件,或使用不同资源DLL等等。这里介绍以资源形式实现多语言版本。1.打开Visual Studio 2008,新建一个基于对话框工程,名称为LanguageTest,不使用Unicode库 ,资源语言一共有十种(当...转载 2018-04-01 10:00:27 · 3105 阅读 · 1 评论 -
MFC文档视图结构
文档/视图概述为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序MFC通过其文档类和视图类提供了大量有关数据处理的方法分为数据的管理和显示,文档用于管理和维护数据,视图用来显示和编辑数据什么是文档文档的概念在MFC应用程序中的适用范围很广,一般说来,文档是能够被逻辑地组合的一系列数据,包括文本、图形、图象和表格数据...转载 2018-04-01 15:19:23 · 4850 阅读 · 0 评论 -
动态链接库DLL的加载:隐式加载(载入时加载)和显式加载(运行时加载)
静态链接库在链接时,编译器会将 .obj 文件和 .LIB 文件组织成一个 .exe 文件,程序运行时,将全部数据加载到内存。 如果程序体积较大,功能较为复杂,那么加载到内存中的时间就会比较长,最直接的一个例子就是双击打开一个软件,要很久才能看到界面。这是静态链接库的一个弊端。 动态链接库有两种加载方式:隐式加载和显示加载。 隐式加载又叫载入时加载,指在主程序载入内存时搜索DLL,并将DLL载...转载 2018-04-22 20:55:33 · 3521 阅读 · 0 评论 -
回调函数的理解
一、 定义某一函数的指针类型:就像自定义数据类型一样,我们也可以先定义一个函数指针类型,然后再用这个类型来申明函数指针变量。我先给你一个自定义数据类型的例子。typedef int* PINT; //为int* 类型定义了一个PINT的别名int main(){ int x; PINT px=&x; //与int * px=&x;是等价的。PINT类型其实就是int ...转载 2018-06-02 22:38:52 · 5951 阅读 · 0 评论 -
C++ 中的创建和删除数组(new/delete 和 new[]/delete[])
C++ 中的创建和删除数组(new/delete 和 new[]/delete[]) 已有 4122 次阅读 2017-4-17 16:33|个人分类:C++|系统分类:科研笔记|关键词:C++,数组,动态数组|数组, 动态数组 ...转载 2018-06-12 21:27:36 · 98388 阅读 · 2 评论 -
warning C4996: “fopen”被声明为否决的
warning C4996: “fopen”被声明为否决的。 解释:微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一 下同样功能的函数,只不过进行了参数的检测,使用这些新的就可以了。不用特意记,每个函数在给出警告时都会告诉你相应的安全函数,注意一下警告信息就可以了,使用时再 查看一下MSDN。库函数改写例子: ...转载 2018-06-09 15:46:49 · 280 阅读 · 0 评论 -
SendMessage
Win32 API消息函数:SendMessage函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IPara...转载 2018-07-16 21:53:15 · 15220 阅读 · 0 评论 -
using namespace std
一、为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。 在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用域是整个程序,在同一作用域中不应转载 2017-12-02 18:52:17 · 614 阅读 · 0 评论 -
WritePrivateProfileString
::WritePrivateProfileString( _T("Options"), _T("Name"), m_strName, pApp->m_szIni );INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString 收藏 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功转载 2017-08-10 14:53:32 · 4726 阅读 · 0 评论 -
.建文件夹
.建文件夹int _mkdir(const char *path,mode_t mode);函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库:direct.h 返回值:创建一个目录,若成功则返回0,否则返回-1=========================转载 2017-08-10 20:49:15 · 320 阅读 · 0 评论 -
Csting Left Mid Right
CString Left( int nCount ) const; //从左边1开始获取前nCount 个字符CString Mid( int nFirst ) const; //从左边第nCount+1 个字符开始,获取后面所有的字符CString Mid( int nFirst, int nC转载 2017-08-10 21:00:24 · 188 阅读 · 0 评论 -
CListCtrl控件中InsertItem和SetItemText函数
本人初次用CListCtrl控件的时候,对于 InsertItem和SetItemText两个函数的作用始终不是太懂,比如如果不先调用InsertItem这个函数,后面的SetItemText函数写了,也不起作用.查了MSDN,也没有收获,经过有人点拔,才恍然大悟.今天将经验说一下,希望有共同爱好者少走弯路. InsertItem在MSDN中的函数原型如转载 2017-08-11 08:58:52 · 2400 阅读 · 1 评论 -
CListCtrl控件使用
创建图形列表并和CListCtrl关联:m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192));m_image_list.SetBkColor( GetSysColor( COLOR_WINDOW ) );m_caller_list.SetImageList( &m_image_list, LVSIL_SMALL)转载 2017-08-11 09:27:09 · 608 阅读 · 0 评论 -
INI文件读写
VC++中 3 个主要 写入/读取配置文件ini的函数:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);写入.ini文件; DWORD GetPrivateProfileString(LPCTSTR lpAp转载 2017-08-26 16:36:12 · 292 阅读 · 0 评论 -
c++ 指针强制转换
概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检查一个值的位来判断它的类型。例如,定义如下:int a; fl转载 2017-11-07 16:00:47 · 1354 阅读 · 0 评论 -
memset()函数
1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, count:是buffer的长度. 这个函数在socket中多用于清空数组.如:原型是memset(buffe转载 2017-10-26 10:54:03 · 1044 阅读 · 0 评论 -
成员变量、类变量、局部变量的区别
成员变量、类变量、局部变量的区别 /转载 2017-11-21 13:25:12 · 130 阅读 · 0 评论 -
1.什么是this
今天把this知识点做个汇总。1.什么是this先要理解class的意思,class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了转载 2017-11-21 15:23:41 · 416 阅读 · 0 评论