c++
xumingjie1658
这个作者很懒,什么都没留下…
展开
-
C++书写形式小结1
main.cpp: #include "abc.h" extern INT x[10];//使用extern就可以调用max.cpp中的变量了 INT main(){ INT a=1,b=2; INT c=max(a,b); } max.cpp: #include "abc.h" INT x[10]; INT max(INT a,INT b){ if(原创 2011-11-14 23:15:22 · 624 阅读 · 0 评论 -
C++ GDI+ 安装 配置 使用
一、安装、配置 使用GDI+很简单。需要做的有一下几个步骤。 1. 安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。 2. 设置编译器的包含路径,VC6的设置方法是 Tools/Options/Directories下分别设置inlude和lib的路径即可。当然也可以在每个工程的Setting里修改相关的设置达到同样的效果。在包含相关的文件的时候转载 2012-05-17 07:18:24 · 962 阅读 · 0 评论 -
在sdk中使用进度条
#include windows.h> #include commctrl.h> //InitCommonControls #pragma comment(lib, "comctl32") //InitCommonControls //过程函数的返回值都是LRESULT,类型都是CALLBACK LRESULT CALLBACK WndProc(HWND hwnd,UINT转载 2012-09-08 16:30:49 · 1420 阅读 · 0 评论 -
RC与DC的介绍与使用
OpenGL的绘图方式与Windows一般的绘图方式是不同的,主要区别如下: 1、Windows采用的是GDI在设备描述表DC上进行绘图。 2、OpenGL采用的是OpenGL相关的函数在渲染描述表RC上进行绘图。 3、OpenGL使用的是特殊的像素格式。 在Windows中使用GDI绘图时必须指定在哪个设备环境DC中绘制,同同样的在使用OpenGL函数时也必须指定一个所谓的渲染环境。正如转载 2012-10-09 10:32:36 · 1231 阅读 · 0 评论 -
glFlush和glFinish以及SwapBuffer的用法
OpenGL 绘图的机制是: 先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的 绘图上下文 Device Context (简记为 DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。转载 2012-10-09 10:56:39 · 1913 阅读 · 0 评论 -
颜色混合opengl
混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。 假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。 要使用OpenG转载 2012-10-18 06:55:21 · 526 阅读 · 0 评论 -
windows路径表示样例
windows中:.\\hehe.bmp原创 2012-10-18 07:10:33 · 621 阅读 · 0 评论 -
c++中如何用毫秒来做为随机种子
C++中的srand(time(null))利用时间设置随机种子产生随机数 首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理转载 2012-10-29 09:06:20 · 5848 阅读 · 0 评论 -
宏里的括号!!!!!!!!!!!
宏里的括号!!!!!!!!!! 宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!! 宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!! 宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!! 宏里的括号!!!!!!!!!!宏里的括号!!!!!!!!!!宏里的括号!原创 2012-11-08 17:33:35 · 993 阅读 · 0 评论 -
配置QT、vs2010,不用编译QT
配置QT,查阅大量资料,大多数网友下载的QT版本都是未编译过的,都需要自己编译,于是我也到官网上下载了需要编译的版本,弄了几天都没弄出来,最后终于在某篇博文上看到,现在的版本(比如:qt-win-opensource-4.8.3-vs2010)都已经编译好了的,不需要自己编译,只需要当作一般的应用程序下载下来安装好后,再下载一个vs的qt插件即可使用了。 当然使用的时候要配置属性,具体内容转载 2012-11-21 00:07:36 · 2548 阅读 · 1 评论 -
将HBITMAP类型转换为BITMAP结构
HBITMAP m_hBitmap = (HBITMAP)::LoadImage(NULL, pBitmapPath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE/*(LR_LOADFROMFILE | LR_DEFAULTSIZE)*/); BITMAP bm; GetObject(hBitmap, sizeof(bm); &bm);转载 2012-05-16 17:27:49 · 3454 阅读 · 0 评论 -
也谈C++中char*与wchar_t*之间的转换
关于C++中的char*与wchar_t*这两种类型的相互转换,网上说的大多很繁琐,可行性也不高。下面这个方法是在MSDN里面找到的,个人认为还比较不错: 把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char *CStr = "string to convert"; size_t l转载 2012-04-21 19:49:28 · 423 阅读 · 0 评论 -
VS2010快捷键
1. F5:启动调试 2. F7 /Shift-F7:显示代码窗口或显示设计器窗口 3.Alt-Enter:显示选中对象的属性(这是个常用的windows快捷键,可以用显示目录和文件的属性) 4.F6 / Shift-F6 / Ctrl-Shift-B:生成解决方案/生成项目/生成解决方案 5.Shift-Alt-C: 在项目里添加类 6.Ctrl-K转载 2012-04-20 21:42:36 · 428 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)
数学之美系列二十一 - 布隆过滤器(Bloom Filter) 在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合转载 2011-11-20 06:05:15 · 615 阅读 · 0 评论 -
面向对象程序设计课堂笔记
信息孤岛 系统需要充分有效的集成 可分可合 实质性的东西不要放在.h文件中,因为不同文件多次include会导致相同的实体产生多份(编译时产生连接实体),最终会导致连接混乱。轴承 如果是inline的内联函数,则不会产生连接错误,内联函数当运行到的时候才产生连接实体。 Inline 放在CPP中使用时,相当于宏,当运行到时才产生实体。 obj? 成员函数的模板不是函数 编译是原创 2012-04-23 19:31:38 · 507 阅读 · 0 评论 -
enum枚举类型的输出方式
#include enum e{a,b,c}; using namespace std; const int Monday=0; const int Tuesday=1; const int Friday=2; int main(){ e e1; e1=e(Monday); int length=sizeof(e); int IntLength=sizeof(int); c原创 2012-04-24 20:46:30 · 13811 阅读 · 0 评论 -
error C2533: 构造函数不能有返回类型,类定义时不要丢了分号
编译的时候出了这么一个错: error C2533: “map::{ctor}”: 构造函数不能有返回类型 看了一下构造函数,奇怪了,.h,.cpp里的构造函数都没有返回类型 尝试注释掉该构造函数,问题依旧 直觉上不太可能是构造函数本身的原因 仔细看了一下类的定义,原来是定义类是最后丢了分号的缘故。 这个错误隐藏的好深。 估计是因为.cpp包含.h之后,编译器把.h中没有打分号的原创 2012-04-24 22:31:23 · 1605 阅读 · 1 评论 -
C++ 关于计时clock()
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。 在MSDN中,查得对clock函数定义如下:clock_t clock(void ); 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。 其中clock_t是用来保存时间的数据类型,在t转载 2012-04-25 22:38:19 · 833 阅读 · 0 评论 -
bios.h被淘汰了....
用HOOK截取键盘信息好麻烦啊。 想像老师那样用bioskey函数截取键盘信息,结果在VS中就没有bios.h这个头文件。 这种对驱动、硬件端口直接操作的东东,DOS时代的残留物。VS2010里果断没有了。 坑爹啊。敢情上课讲的bioskey截取的ASCII码什么的,都用不了。。 TC 2.0还有bios.h,可以使用bioskey。 还有用WINDOWS截取键盘信息吧。原创 2012-04-26 22:35:21 · 5888 阅读 · 1 评论 -
关于fstream流中文件结束符的一些问题总结
#include #include using namespace std; int main() { char ch = 'x'; ifstream fin("test.txt"); //ios::binary if (fin.eof()) { cout return 0; } while (!fin.eof转载 2012-05-07 19:38:18 · 4272 阅读 · 0 评论 -
对于window和linux下的换行符的一点理解
从网络上的已有资料可知道: \r的意义即回车,\n的意义即换行。 何为回车,何为换行: 这都是从打字机的概念来的: 车指的就是打字机头,那么回车就是打字机归为操作 而换行呢指的就是打印机走纸的操作。 但是, 在window中,使用\n就是使用\r\n即回车换行,而是用\r仅仅就是回车。 测试程序如下: #include using namespace std;原创 2012-05-07 20:30:15 · 3745 阅读 · 1 评论 -
fstream中eof的机制
一个测试程序: 一个简单的复制文件程序 #include using namespace std; int main(){ fstream in("aaa.txt",ios::in); fstream out("bbb.txt",ios::out); if(!in)//判断打开是否成功 return 0; while(!in.eof()){ char ch=in.get原创 2012-05-07 20:54:07 · 5098 阅读 · 1 评论 -
window下文本文件和二进制文件的理解
继续使用之前的复制测试程序,来对一个aaa.bmp图片进行复制 #include using namespace std; int main(){ fstream in("aaa.bmp",ios::in); fstream out("bbb.bmp",ios::out); if(!in)//判断打开是否成功. return 0; char ch; int i=0;原创 2012-05-07 21:26:48 · 1849 阅读 · 0 评论 -
手动调用DestroyWindow时导致的窗口两次被销毁
我自己写了一个函数,里面调用DestroyWindow来销毁了。 但是WM_CLOSE的响应没有重写,所以按下close后,系统又重新送出了DestroyWindow的消息,所以窗口被销毁了两次。从而导致HDC已经被销毁过。 最后重写WM_CLOSE解决。 case WM_CLOSE: { PostQuitMessage(0); return 0; } 只让cl原创 2012-12-05 15:09:59 · 1500 阅读 · 0 评论