c++
zjh20052318
这个作者很懒,什么都没留下…
展开
-
VC中CDC与HDC的区别以及二者之间的转换
CDC是MFC的DC的一个类,HDC是DC的句柄,API中的一个类似指针的数据类型。MFC类的前缀都是C开头的,H开头的大多数是句柄,这是为了助记,是编程读/写代码的好的习惯。CDC中所有MFC的DC的基类,常用的CClientDC dc(this);就是CDC的子类(或称派生类)。CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.记住下面的一句话,会有助于你的理解....转载 2019-03-21 17:15:46 · 373 阅读 · 0 评论 -
用最简单的函数实现功能:判断一个int数据是否是2的x次幂(不能使用循环)。
1、bool Juge(int dat, int x){return !(dat & ~(1 << x));}2 、cout << boolalpha << ((i & (i - 1)) ? false : true) << endl;转载 2019-04-02 10:15:39 · 220 阅读 · 0 评论 -
WAV文件格式分析
一. RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources lnterchange File Format),简称RIFF。例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由"辨别码"、"数据大小"及...转载 2019-04-02 10:12:29 · 683 阅读 · 0 评论 -
VC画线几个常见方法
转自http://www.cnblogs.com/tuncaysanli/archive/2009/11/14/1603093.html首先,在VIEW类中增加一个私有的成员变量m_ptOrigin,再增加两个windows的消息响应,一个是WM_LBUTTONDOWN,一个是WM_LBUTTONUP.1:利用HDC去画线;2:利用CDC画线;3:利用CClientDC画线;4...转载 2019-04-02 09:21:02 · 695 阅读 · 0 评论 -
CString,string,char*之间的转换
这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。以下我用简单的图示指出三者之间的关系,并以标号对应转换的方法。1 strin...转载 2019-04-10 11:31:32 · 114 阅读 · 0 评论 -
令人费解的MFC客户区
估计很多人都会遇到这么一个问题,平时我们用单文档/视图结构时,很容易就在客户区画个图,画根线什么的,然而,要在对话框的某个控件中画这些东西,刚一上来,还真有点搞吧。下面,我就把在对话框中对某个控件画图的程序先列出来,然后再看看微软的一些搞的地方。初始化:m_IsDrawing=false;CWnd*pCanvas=GetDlgItem(IDC_CANVAS);pCanv...转载 2019-04-10 11:08:27 · 739 阅读 · 0 评论 -
Vc控件用法总结之List Control
1.新建对话框MFC,在对话框上放一个ListCtrlID:IDC_PATHView:Report2.为ListCtrl添加变量右击->添加变量m_wndPath3.找到OnInitDialog()函数添加如下代码:// TODO: 在此添加额外的初始化代码m_wndPath.DeleteAllItems();//清空m_wndPath.InsertCo...转载 2019-04-10 11:04:13 · 320 阅读 · 0 评论 -
vc中读取wav文件的时长和文件播放的几种方式
vc中读取wav文件的时长和文件播放的几种方式读取wav文件的时长:int GetTimeLength()//获取声音文件数据的函数,pString参数指向要打开的声音文件;{HMMIO file;//定义HMMIO文件句柄;file=mmioOpen(".//TTS.wav",NULL,MMIO_READWRITE);//以读写模式打开所给的WAVE文件;if(fil...转载 2019-03-21 17:30:42 · 587 阅读 · 0 评论 -
C++的JSON库及使用方法
VC没有自带的JSON库,所以分享一下如何使用该库http://download.csdn.net/detail/moruite/41047041. json.h头文件包含了如下API#ifndef CPPTL_JSON_H_INCLUDED# define CPPTL_JSON_H_INCLUDED# include "forwards.h"# include <stri...转载 2019-03-21 17:26:10 · 2931 阅读 · 0 评论 -
C++: byte和int的相互转化
byte不是一种新类型,在C++中byte被定义的是unsigned char类型;但在C#里面byte被定义的是unsigned int类型//int转bytevoid intToByte(int i,byte *bytes,int size = 4){//byte[] bytes = new byte[4];memset(bytes,0,sizeof(byt...转载 2019-03-21 17:22:28 · 6771 阅读 · 1 评论 -
C/C++版实现(Base64, UrlEncode等)
【原创性声明】:本文无实质性创新性内容,性质属于技术总结,内容是基于已有知识或定义的代码实现。文中的代码是我根据其他代码或者网络上的资料,写出的自己的版本。因为网络上的代码 C/C++ 版本的较少,或者本身不一定是最合适最容易使用的。所以我写的代码基本是以 C 语言和 C 字符串处理为主的,因此它也可以直接在 C++ 的项目中使用。 (1)Base64 编码。Base64 编码是把...转载 2019-03-21 17:20:43 · 1174 阅读 · 1 评论 -
完成端口(Completion Port)详解
完成端口(Completion Port)详解----- By PiggyXP(小猪)前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开...转载 2019-04-02 17:45:35 · 366 阅读 · 0 评论