
C++
黑暗扥桑格
这个作者很懒,什么都没留下…
展开
-
Win32控件自动布局管理
转载自 http://bbs.youkuaiyun.com/topics/380000840通过句柄标识控件,MoveWindow函数进行布局/******************************************************************************** Copyright: 2011-2012 by Arsaisy.lin* File nam转载 2015-08-26 22:52:56 · 4396 阅读 · 0 评论 -
Windows下用Mingw编译Boost.Regex库
下载Boost库,解压。定位到regex库文件夹下。GCC所对应的MAKEFILE为gcc.mak进入命令提示符下,输入make -f gcc.mak这是如果直接按回车执行的话,会出现错误:这是由于gcc.mak文件中的 mkdir 语句是linux格式的,在windows下不支持。所以应该把其中 mkdir 语句后面的 -p 都去掉 (共有3处)mkd原创 2013-12-04 22:32:00 · 2608 阅读 · 0 评论 -
VC6+Qt4编译
用VC6编译Qt4.3.41.下载http://ftp.tu-chemnitz.de/pub/Qt/qt/source/qt-win-opensource-src-4.3.4.zip2.编译2.1.添加环境变量我的电脑->属性->高级->环境变量->系统变量,PATH:添加F:\Qt-4.3.4\bin新建变量QTDIR:F:\Qt-4.3.4新建变量QMAKE转载 2014-04-27 19:45:23 · 1582 阅读 · 0 评论 -
GDI+入门
#include "StdAfx.h"#include #include #ifndef ULONG_PTR#define ULONG_PTR unsigned long#endif // ULONG_PTR#include #include using namespace Gdiplus;HWND GetConsoleHwnd(void);int GetEncoderClsi原创 2014-04-26 20:11:45 · 2641 阅读 · 0 评论 -
vc6 控件布局控制器--EasySize
/*===================================================*\| || EASY-SIZE Macros ||转载 2014-04-01 21:41:59 · 2112 阅读 · 0 评论 -
C++宏笔记
#ifdef DEBUG#define DBGMSG(fmt, args...) (printf("%s(%d),:", __FILE__, __LINE__, __FUNCTION__),printf(fmt, ##args))#define DBGPRINT(fmt, args...) printf(fmt, ##args)#else#define DBGMSG(fmt, args..原创 2014-05-07 11:30:11 · 1381 阅读 · 0 评论 -
改写的CBitmap类,加入了保存显示功能,新加入载入图片功能
// XMFCBMP.h: interface for the XMFCBMP class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_XMFCBMP_H__329A4A70_251F_42DB_9B9A_1BB13646B3D4__INCLUDED_)#原创 2014-03-05 21:05:55 · 1563 阅读 · 0 评论 -
VIM 编译C、C++、Fortran脚本
做个笔记"中文不乱码let &termencoding=&encodingset fileencodings=utf-8,gbk"Fortran用自由格式显示let fortran_free_source=1"设定高亮主题colorscheme desert"单文件编译map F5> :call SingleSourceMake() CR>function Singl原创 2014-04-13 17:55:15 · 2597 阅读 · 0 评论 -
XBitField 一个01标志类
#ifndef XBITFIELD_H#define XBITFIELD_Hclass XBitField{public: /** Default constructor */ XBitField(int bc); /** Default destructor */ virtual ~XBitField(); // 指定bit位为1 in转载 2014-03-17 10:56:49 · 1772 阅读 · 0 评论 -
printf&scanf的格式化代码详解
这些函数的精髓就是变参...Printf 格式代码%[对齐][占位符(填充符号)][最小占位宽度][.精度][限定符][格式符]分类说明:[对齐]'-'实现左对齐,默认是右对齐[占位符(填充符号)] '+' 正负号占位符含义: 当用于一个格式化某个有符号值代码时,如果值非负,正号标志就会给它加上一个正号。如果该值为负,就像往常一样显示一个负转载 2014-03-08 15:48:51 · 1328 阅读 · 0 评论 -
c++ 多维数组创建
只是把new 和delete做了个简单的封装,简化多维数组的创建过程,最多支持三维数组,再多就没必要了。#ifndef XQARRAY_H_INCLUDED#define XQARRAY_H_INCLUDEDtemplate void createArray(T** &pArray, int i, int j){ pArray = new T*[i]; for (in原创 2014-03-10 22:05:03 · 903 阅读 · 0 评论 -
二分法-线性 插值
#include #include using namespace std;template bool bisectionInterp(T keys[], T values[], int len, T key, T &value){ //数组是由小到大排列的 //超出界限直接返回false if(keykeys[len-1]) return false;原创 2014-03-10 21:51:52 · 4605 阅读 · 0 评论 -
CBitmap 保存到文件
// http://blog.sina.com.cn/s/blog_6ee382440100moeu.html// http://apps.hi.baidu.com/share/detail/32878068// bitmap 位图CBitmap对象指针// lpFileName 为位图文件名 bool SaveBitmapToFile(CBitmap* bitmap, LPSTR lp转载 2014-03-05 20:40:30 · 7748 阅读 · 1 评论 -
c++获取程序目录
#include #include #include std::string GetAppPath(){ //获取应用程序根目录 TCHAR modulePath[MAX_PATH]; GetModuleFileName(NULL, modulePath, MAX_PATH); std::string strModulePath(modulePath);原创 2014-03-10 22:01:55 · 1998 阅读 · 0 评论 -
射线与三角面元求交点
#define EPSILON 0.000001#define CROSS(dest, v1, v2)\ dest[0] = v1[1]*v2[2] - v1[2]*v2[1];\ dest[1] = v1[2]*v2[0] - v1[0]*v2[2];\ dest[2] = v1[0]*v2[1] - v1[1]*v2[0];#define DOT(v1, v2) v翻译 2013-12-16 10:27:47 · 3963 阅读 · 0 评论 -
QSettings使用笔记
QSettings有四个构造函数:QSettings ( const QString & organization, const QString & application = QString(), QObject * parent = 0 )QSettings ( Scope scope, const QString & organization, const QString & app原创 2013-02-06 14:34:41 · 957 阅读 · 0 评论 -
QDockWidget类使用笔记
设定好一个QDockWidget类后,要通过调用下面语句将该控件链接到窗体上。QMainWindow::addDockWidget(Qt::RightDockWidgetArea, shapesDockWidget);默认情况下,QDialog是没有这个成员函数的,只有QMainWindow类有这个函数。原创 2013-02-06 13:51:26 · 4028 阅读 · 0 评论 -
Qt问题笔记
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>问题描述:给工程添加资源文件编译报错(好像只有4.8.3有这个问题,有待考证)具体编译输出错误是:process_begin: CreateProcess(NULL, bin\rcc.exe -name frame ..\MyFrame\frame.原创 2013-01-27 21:44:21 · 7662 阅读 · 0 评论 -
Qt下 QString转char*
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。因为char*最后都有一个‘/转载 2013-01-31 12:33:20 · 1559 阅读 · 0 评论 -
Qt笔记
1、Qt中获取程序所在目录函数:QString applicationDirPath ()示例: QString file_path=QCoreApplication::applicationDirPath(); QMessageBox::information(this,"path",file_path,QMessageBox::Ok);原创 2013-01-27 18:58:07 · 1191 阅读 · 0 评论 -
Qt+CodeBlocks+MinGw环境配置
1、下载Code::Blocks,安装到d:\CodeBlocks2、下载MinGw4.4.0,安装到d:\CodeBlocks\MinGw3、配置环境变量右键“我的电脑”“属性”, 选择“高级”,“环境变量”,在“用户变量”中添加Mingw;点击“新建”,新建三个变量Path,Include,LibPath=D:\CodeBlocks\MinGW\bin;D:\C原创 2013-01-28 09:36:50 · 9528 阅读 · 1 评论 -
多线程编程之一——问题提出
一、问题的提出编写一个耗时的单线程程序:新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:1.void CSingleThreadDlg::OnSleepSixSecond()2.{3.S转载 2012-11-06 21:55:17 · 858 阅读 · 0 评论 -
VC界面绘制双缓存
转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/11/20/2255811.html1、闪屏的问题在GDI的绘图系统中,每调用一次区域绘图操作,如FillRect、BitBlt等,图形显示系统就会在屏幕中对指定的区域进行一次刷新操作。如果频繁的进行区域绘制操作的操作的话,我们就会发现,屏幕会出现闪屏。使用下面的代码对转载 2012-11-06 21:49:19 · 762 阅读 · 0 评论 -
Visual C++ ADO 数据库编程
1)通过Access创建数据库ADO.mdb。2)利用MFC AppWizard 创建程序随需基本代码,具体内容如下:启动VC6,单击File菜单的New启动新建对话框,选择MFC AppWizard(exe),并在Project Name中输入ADO_EXAMPLE,单击OK进入下一步,如图1所示。选择基于单文档(Single Document)的应用,单击Finish完成创建。转载 2012-09-25 16:08:53 · 2469 阅读 · 0 评论 -
VC6 各link错误解决
错误1:LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main在project-setting-link里找到project options 去掉里面的/subsystem:console错误2:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresol转载 2012-07-28 16:22:29 · 2881 阅读 · 0 评论 -
利用this指针实现对象资源的拷贝
#include #include class student{ public: student(char * pName="no name",int ssId=0) { id=ssId; name=new char[strlen(pName)+1]; strcpy(name,pName); cout<<"construct new student "<<p转载 2012-07-14 15:57:03 · 2195 阅读 · 0 评论 -
编程之前要分析,编写过程才不会漫无目的
这是c++吧的一维吧友保濟丸在回答另一位吧友的提问时给出的答复,让我第一次深刻感觉到,进行软件分析的重要性。初步看了下,这系统的参与者有两个,一个是会员,一个是图书馆管理员。会员只会借书和还书,(盈利机构的话可能还会充值啥的)管理员有其他用列。但是仔细想的话其实这个啥啥管理系统的真正使用者是管理员,会员只是委托管理员借书和还书。会员和管理员的关系应该是代理模式。所以会员转载 2012-07-08 17:15:27 · 1307 阅读 · 0 评论 -
Qt生成PDF
void MainWindow::exportPdf(){ QTextEdit *textEdit = new QTextEdit(this); textEdit->setGeometry(0,0,800,480); textEdit->setText("helloworld"); QString fileName = QFileDialo转载 2013-02-06 16:53:24 · 5999 阅读 · 0 评论 -
QFileInfo类笔记
QFileInfo类在操作文件名时很有用: QString fileName = QFileDialog::getSaveFileName(this,"Export PDF",QString(),"*.pdf"); if(QFileInfo(fileName).suffix().isEmpty()) { fileName.append("原创 2013-02-06 16:55:55 · 2206 阅读 · 0 评论 -
Pthread入门笔记
MinGW默认带有pthread库,可以直接使用。#include #include void *pp(void *arg){ while(1){ printf("%s\n", (char *)arg); Sleep(2000); } return NULL;}int main(){ pthread_t pid;原创 2013-11-08 19:16:54 · 876 阅读 · 0 评论 -
计算圆周率 Pi (π)值, 精确到小数点后 10000 位 只需要 30 多句代码!
原文地址http://www.cppfans.com/articles/basecalc/c_pi_10000.asp by: Victor Chen大家都知道π=3.1415926……无穷多位, 历史上很多人都在计算这个数, 一直认为是一个非常复杂的问题。现在有了电脑, 这个问题就简单了。电脑可以利用级数计算出很多高精度的值, 有关级数的问题请参考《高等数学》,以下是比较有名的有关π的级转载 2013-11-06 21:44:39 · 7981 阅读 · 0 评论 -
获取应用程序根目录
#include #include #include std::string GetAppPath(){ //获取应用程序根目录 TCHAR modulePath[MAX_PATH]; GetModuleFileName(NULL, modulePath, MAX_PATH); std::string strModulePath(modulePath);转载 2013-08-31 11:00:01 · 2255 阅读 · 0 评论 -
调用控制台程序,并实施获取控制台输出文字
UINT calFunc(LPVOID pParam){ //调用exe //清空结构 CGetDosTextDlg *pDlg = (CGetDosTextDlg *)pParam; SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL;原创 2013-08-28 21:02:49 · 3164 阅读 · 0 评论 -
QSplitter 控件使用时要注意的问题
当使用QSplitter时,如果是多个QSPlitter嵌套使用(如下图)就很容易出现错误。通常是“内存不能为read” (如下图)代码如下:(错误的用法)#include #include #include #include #include #include #include #include int main(int argc, char* ar原创 2013-02-05 22:06:21 · 6349 阅读 · 0 评论 -
关于release版本和Debug 版本的问题 终结
==============================================这 release 和 debug 2个版本的代码出现的问题我个人觉得有必要整理一下,更好的帮助朋友们以下内容有 以前朋友的回帖,也有网上找到的还有一少部分我个人的经验。希望大家不要水掉这个帖子,把自己的经验多分享多添加一些,谢谢。========================转载 2012-12-26 21:10:57 · 9125 阅读 · 1 评论 -
scanf 格式化字符串详解
scanf格式控制的完整格式: % * m l或h 格式字符 ①格式字符与printf函数中的使用方式相同,以%d、%o、%x、%c、%s、%f、%e,无%u格式、%g格式。 ②可以指定输入数据所占列宽,系统自动按它截取所需数据。如: scanf( "%3d%3d", &a, &b); 输入:123456 系统自动将123赋给转载 2013-03-12 19:26:45 · 10285 阅读 · 2 评论 -
开源图形库 C++ 图形图像库
Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,这样就可以在网页中实现效果逼真的3D动画。在线演示:http://o3... 更多O3D信息 最新新闻: 谷歌联手Mozilla基金开发3D互联网图像技术发布转载 2013-02-25 22:40:51 · 31147 阅读 · 1 评论 -
Qt绘图练习-Clock
Clock.h#ifndef CLOCK_H#define CLOCK_H#include #include #include class Clock:public QWidget{ Q_OBJECT public: /** Default constructor */ Clock(QWidget *parent = 0);原创 2013-02-18 23:01:28 · 4987 阅读 · 0 评论 -
MSVC and MinGW DLLs
Assume we have a testdll.h, testdll.c, and testmain.c. In the first case, we will compile testdll.c with MinGW, and let the MSVC-compiled testmain call it. You should usegcc -shared -o testdll.dll转载 2013-02-18 00:21:53 · 4351 阅读 · 0 评论 -
对运算符号进行重载,进行复数运算
#include //using namespace std;class complex{public: complex(){real=0;image=0;} complex(double r){real=r;image=0;} complex(double r,double i){real=r;image=i;} friend complex operator +(complex原创 2012-07-08 13:19:34 · 1781 阅读 · 0 评论