VC++
include1224
为了梦想而不停奔跑的犀牛!
展开
-
c++ 用new申请三维数组
int main(){ int ***array; int i,j; int side=5,height=6,width=7; array=new int**[side];//申请side个面 for(i=0;i { array[i]=new int*[height]; for(j=0;j array[i][j]=new int[width]; }原创 2008-11-19 19:44:00 · 3967 阅读 · 0 评论 -
Visual Studio 2008 编译出现 _Swap_adl 错误
<br />error C2039: '_Swap_adl' : is not a member of 'std' c:/program files/microsoft visual studio 9.0/vc/include/xutility 2764<br /> error C3861: '_Swap_adl': identifier not found c:/program files/microsoft visual studio 9.0/vc/include/xu原创 2010-06-21 13:08:00 · 1697 阅读 · 0 评论 -
STL vector中去重复
对于我们自定义的一个类型,需要按其中某个属性去重复。class PicResult{public: int ID;//一个主属性 int PID;//副属性 PicResult(int _ID, int _PID): ID(_ID), PID(_PID){} bool operator<(const PicResult temp) {//重载<运算符 return原创 2009-12-11 20:58:00 · 4835 阅读 · 0 评论 -
zlib压缩解压库
转自:http://blog.csdn.net/jilei08124/archive/2009/09/12/4545235.aspxzlib 是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。zlib 也支持读写 gzip (.gz) 格式的文件。下面介绍两个最有用的函数——compress 和 uncompress。原创 2010-01-19 12:35:00 · 4073 阅读 · 1 评论 -
读文件头判断图片类型!
Opencv加载一幅图片的时候只看图片实际的图片格式,与后缀名无关;所以如果一幅图片实际是Opencv支持的图片格式,即使后缀名是txt也没关系。但如果某个文件打着jpg的后缀名,但实际却是其他乱七八糟的格式,那么如果不加判断的cvLoadImage一幅“图片”,可能就会出错。出错的原因有:1.文件虽然是jpg等图片后缀,但实际不是图片,或者不是Opencv支持的图片----如gif;2.图片原创 2010-01-15 20:40:00 · 19253 阅读 · 3 评论 -
vs 2005/2008 下 OLE initialization failed问题
需修改_highgui.h第96行,注释掉该行后即可一切正常。#if _MSC_VER >= 1400 && !defined WIN64//#define HAVE_VIDEOINPUT 1#endif我注释掉define行后还是不行我只有先注释掉:if (!AfxOleInit()){//AfxMessageBox(IDP_OLE_INIT_FAILED);//return FALSE;转载 2009-06-01 11:11:00 · 2127 阅读 · 3 评论 -
sprintf,你知道多少?
选自《CSDN 社区电子杂志——C/C++杂志》http://emag.csdn.net 2005 年1 月 总第1 期 - 93 -本文作者:steedhorse(晨星)printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时转载 2009-07-15 15:41:00 · 792 阅读 · 0 评论 -
十六进制字符串转十进制数的c代码
#include #include int main(){ char ch;//用来接受一个输入字符 int stack[50];//存储处理后的十六进制对应的十进制 int top=0;//栈里面数据的个数 int decimal=0;//小数点在输入字符串中的位置,从0号位置开始计数 float num=0;//计算最后的十进制数 printf("请输入十六进制(0-9,a-f,A-F原创 2009-03-17 22:35:00 · 1806 阅读 · 0 评论 -
无模式对话框的销毁&对话框给视图类发消息
要想完全销毁一个对话框,就重载对话框的OnOk和OnCancel函数,然后在这两个函数里面调用DestroyWindow,如果你是使用new分配的内存,可以重载PostNcDestroy函数,然后在PostNcDestroy函数里面调用delete this 在默认的情况下,非模态对话框是不会自己调用DestroyWindow来销毁窗口,只是把它隐藏了,你可以在关闭一个非模态对话框后用转载 2008-12-15 22:28:00 · 943 阅读 · 0 评论 -
C/C++文件操作
fread函数和fwrite函数1.函数功能 用来读写一个数据块。2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp);3.说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。 (2)size:要读写的字节数;转载 2009-02-18 22:02:00 · 701 阅读 · 0 评论 -
坐标系在Client 与 Screen之间的转换
ClientToScreen( hWnd, (LPPOINT)&m_rcWin ); ScreenToClient( hWnd, (LPPOINT)&m_rcWin ); CView:: ClientToScreen(&Point);//把坐标从client转换到screen下 .... ScreenToClient(&Point);//再原创 2009-02-21 14:15:00 · 796 阅读 · 0 评论 -
DDA画线算法
假设给定两个点 A(x1,y1) , B(x2,y2) ,用DDA实现画直线AB的算法如下dx=x2-x1; dy=y2-y1; 斜率k ;(x,y) 为需要画的点坐标,初始时(x,y)=(x1,y1);1) (dx!=0&&dy!=0) ,即AB为斜线 1.1 abs(dx)>=abs(dy), 此时以x方向为步长; for( i=0; i原创 2009-02-17 21:39:00 · 1502 阅读 · 0 评论 -
关于C++文件读取
在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,在头文件 中定义 一、打开文件 fstream类的成员函数open(),原形:void open(const char *filename,int mode,int access) filename:打开的文件名字转载 2008-12-07 11:09:00 · 2446 阅读 · 0 评论 -
重绘 MFC下触发OnDraw函数
在类C*View的某函数里面,需要重绘的地方加上如下语句CRect rect; GetClientRect(&rect); InvalidateRect(rect);//触发OnDraw函数 或直接用 Invalidata();原创 2008-12-05 19:59:00 · 7071 阅读 · 1 评论 -
VS2005 CFileDialog设置文件默认打开路径
CString OpenFilter; OpenFilter = "bmp Files (*.bmp)|*.bmp|";//打开文件时的过滤器 ::SetCurrentDirectory(_T("..//image") );//设置默认打开路径为相对路径下的image文件夹!//VC6.0下应该是::SetCurrentDirectory(".//image") ;少一个点 CFileDial原创 2008-12-01 20:16:00 · 4965 阅读 · 1 评论 -
VS2005下CString转char*
更多内容: http://blog.minidx.com/2009/03/03/2209.html CString m_sFile;USES_CONVERSION;//不可缺少 char *p =T2A(m_sFile);//把CString类型转化成char*原创 2008-11-28 00:59:00 · 928 阅读 · 0 评论 -
关于CBitmap的使用
在初始化CBitmap对象时,常用Cbitmap::LoadBitmap,即如下两种: BOOL LoadBitmap( LPCTSTR lpszRecourceName ); BOOL LoadBitmap( UINT nIDResource ); MSDN中的说明为:" 返回值调用成功时返回非零值,否则为0。 lpszRes原创 2008-11-22 22:27:00 · 12907 阅读 · 2 评论 -
用时间做种子生成随机数
我们知道rand()函数可以生成随机数,其实是在种子的基础上做某种变换并返回生成的随机数。在默认情况下,种子是1。写一个小程序测试一下。 main(){int i,j;for(i=0;i<10;i++){j=1+(int)(10.0*rand()/(RAND_MAX+1.0));cout<<j<<endl;}} 执行:9 4 8 8 10 2 4原创 2011-06-26 19:11:00 · 11085 阅读 · 0 评论