非发表文章
hityct1
这个作者很懒,什么都没留下…
展开
-
ShellExecute与ShellExecuteEx的用法 c++
转自http://www.cppblog.com/bidepan2023/archive/2007/07/20/28419.aspx Q: 如何打开一个应用程序? ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","notepad.exe","c:/转载 2009-02-03 16:28:00 · 5327 阅读 · 0 评论 -
关于CRichEditCtrl的用法
滚动条滚动到最下方: char *pMsg=(char *)lParam; int len = m_RichEditCtrl.GetWindowTextLength(); m_RichEditCtrl.SetSel(len,len); m_RichEditCtrl.ReplaceSel(pMsg); m_RichEditCtrl.ReplaceSel("/n"原创 2009-04-10 02:23:00 · 3820 阅读 · 0 评论 -
如何使c++类不能被继承
参考文献:http://www.research.att.com/~bs/bs_faq2.html#no-derivation http://dev.csdn.net/article/14/14193.shtm Can I stop people deriving from my class?Yes, but why do you want to? There are two co转载 2009-04-23 01:06:00 · 976 阅读 · 0 评论 -
重载多维数组下标 c++
其实就是两个[]叠加起来,具体怎么实现看代码。#include #include using namespace std;template class arr;template class arrBody{ private: friend class arr; T* data; int row,col,current_r转载 2009-04-25 18:38:00 · 2290 阅读 · 1 评论 -
GDI+ 的Matrix::TransformPoints 与 仿射变换 c++
到百度搜索“仿射变换”,有很多介绍的。 这是vs2008中的示例:VOID Example_TransPoints(HDC hdc){ Graphics graphics(hdc); Pen pen(Color(255, 0, 0, 255)); Point points[5] = { Point(50, 100), Poi原创 2009-04-29 10:52:00 · 5255 阅读 · 0 评论 -
访问者模式(Visitor Pattern)的c++实现示例
访问者模式是一种分离对象数据结构与行为的方法,通过这种分离,可以为一个已存在的类或类群(即被访问者)增加新的操作(即访问者)而无需为它们作任何修改。访问者模式属于行为型模式。 为什么要使用访问者模式? 如何扩展一个现有的类层次结构来实现新行为?一般的方法是给类添加新的方法。但是万一新行为和现有对象模型不兼容怎么办?还有,类层次结构设计人员可能无法预知以后开发过程中将会需要哪些功能。以原创 2009-05-09 23:47:00 · 7512 阅读 · 2 评论 -
boost::any的用法、优点和缺点以及源代码分析
boost::any用法示例:#include #include #include typedef std::list list_any;//关键部分:可以存放任意类型的对象void fill_list(list_any& la){ la.push_back(10);//存放常数 la.push_back( std::string("dyunz原创 2009-05-14 22:46:00 · 5329 阅读 · 1 评论 -
左偏树的c++实现
/*与平衡树不同(平衡树是具有非常小的深度的,这也意味着到达任何一个节点所经过的边数很少),左偏树并不是为了快速访问所有的节点而设计的,它的目的是快速访问最小节点以及在对树修改后快速的恢复堆性质。左偏树是一种可合并堆,常用于优先级队列。左偏树有两个性质:1)堆的性质(注意:一般堆是完全二叉树,但这里不是):A[parent(i)]>=A[i] or A[parent(i原创 2010-01-20 14:06:00 · 1315 阅读 · 0 评论 -
动态添加和删除table的一行
动态添加删除table的一行<!-- var newRowIndex=2; //被插入的行索引 //插入一行function insertRow(tableID/*被插入一行的表的ID*/){ //debugger; //var table = document.getElementById(tableID); var原创 2010-03-23 13:08:00 · 14485 阅读 · 1 评论 -
c++捕获除0异常
使用vs2005。#include "stdafx.h"#include // for EXCEPTION_ACCESS_VIOLATION#include #include using namespace std;int main(int argc, _TCHAR* argv[]){ int i = 1; int j = 0; __原创 2010-01-11 14:37:00 · 4169 阅读 · 1 评论 -
GridView的模板列中判断控件所在行
//获得行号 int row = ((GridViewRow)((LinkButton)sender).NamingContainer).RowIndex; Control.NamingContainer 属性用于获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件。转载 2010-03-23 16:52:00 · 1528 阅读 · 1 评论 -
六个建议防止SQL注入式攻击
出处:IT专家网 作者:彭芬 日期:2009-03-24 一、 SQL注入攻击的简单示例。 statement := "SELECT * FROM Users WHERE Value= " + a_variable + " 上面这条语句是很普通的一条SQL语句,他主要实现的功能就是让用户输入一个员工编号然后查询处这个员工的信息。但是若这条语句被不法攻击者改装过后,就可能成为破转载 2012-05-08 15:05:42 · 753 阅读 · 0 评论 -
防止sql注入攻击
转至http://hi.baidu.com/ncheng/blog/item/bc65f82a1a6a7c335343c11c.htmlSql注入是一种入门极低破坏极大的攻击方式。如果sql是用字符串拼接出来的话,那么肯定会被注入攻击,前段时间还传出了某国外大型社交网站被SQL注入攻击。Sql注入攻击的方式,来这里看的同志们应该很清楚了,就是在拼接字符串的时转载 2012-05-08 15:24:24 · 1553 阅读 · 0 评论 -
DataTable转(字符串形式的)json;DataTable转easyui grid可以识别的json结构
using System.Web.Script.Serialization;namespace test{ /// /// 关于json的操作 /// public class Json { /// /// 用于生成适用于easyui datagrid的可识别json结构 ///原创 2016-01-27 09:20:13 · 1147 阅读 · 0 评论 -
js设置断点的问题
本人使用vs2010编写asp.net网站,用浏览器调试js脚本时有时候会遇到找不到设置断点的地方(通常这种情况是动态生成脚本是发生,如$("#reveal").load(“test.html‘);里的test.html里的js脚本,或如easyui dialog里的js脚本),现在有两种方法可以解决,在vs里想要设置断点的地方加上如:1)debugger;或者2)throw new原创 2017-02-09 10:33:14 · 918 阅读 · 1 评论 -
std::priority_queue使用示例 STL
简单的使用示例。#include "stdafx.h"//非vc编译器可去掉#include #include #include using namespace std;//看看priority_queue的声明,模板的第三个参数就是比较规则,规则可以是个函数,也可是个仿函数//template ,// class Compare = l原创 2009-04-19 11:59:00 · 4209 阅读 · 0 评论 -
模仿std::endl函数
使用vs2008编译器。 myend函数就是模拟endl函数的。它是个全局函数。为了达到与endl一样的用法,还定义了:mystream& operator #include "stdafx.h"//非vc编译器可去掉#include #include #include using namespace std;class mystream{原创 2009-04-16 03:36:00 · 1247 阅读 · 1 评论 -
C++实现计算程序运行时间 高精度
程序改自http://zhidao.baidu.com/question/57378776.html其它参考http://www.vckbase.com/document/viewdoc/?id=1301 对于精确度要求更高的定时操作,应该使用QueryPerformanceFrequency()和 QueryPerformanceCounter()函数。这两个函数是仅供Windows转载 2009-02-03 17:12:00 · 5012 阅读 · 2 评论 -
ip转换为数值 数值转换为ip c++
作为练习,自己编了一个: #include "stdafx.h"#include #include //#include using namespace std; int IPToValue(const string& strIP){//IP转化为数值//没有格式检查//返回值就是结果 int a[4]; string IP = st原创 2009-02-03 23:27:00 · 5784 阅读 · 0 评论 -
设置CEdit控件背景为透明 C++ MFC
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ // Call the base class implementation first! Otherwise, it may // undo what were trying to accomplish here. HBRUS转载 2009-02-07 17:30:00 · 6110 阅读 · 2 评论 -
一个简单的溢出例子
使用c6.0#include "stdafx.h"#include ; void overFlow () { int a[] = { 0x78787868 }; *(a + 2) += 7; } int main () { int aa = 3; overFlow (); aa = 4; printf ("%d/n", aa);转载 2009-02-07 15:35:00 · 1093 阅读 · 0 评论 -
大数阶乘 c++
就是求n! (一) //为了明白演示,将max改为4,并以n=4为样例//由最后一句可以看出b是用来存储结果的,由高位到低位;b[max-1]为个位,b[max-2]为十位,依此类推//a和b存储的方式一样,但是用来存储中间结果的//作者没有使用乘法,显然是要以加法来替代的。#include "stdafx.h"#include #define max 1转载 2009-02-10 03:43:00 · 2324 阅读 · 0 评论 -
将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
将屏幕保存为图片,使用vs2008编译通过。#include "stdafx.h"#include #include int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,转载 2009-02-21 18:25:00 · 7491 阅读 · 8 评论 -
深度剖析MFC消息反射机制
转自http://blog.csdn.net/zyc464301/archive/2007/10/29/1854930.aspx 深度剖析消息反射机制作者:hustli (附:我稍加修改)摘要:在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正转载 2009-02-21 23:28:00 · 6874 阅读 · 10 评论 -
Boost笔记(一) —— Smart_ptr库
前言:读《超越c++标准库——boost程序库导论》的笔记。(一)scoped_ptrboost::scoped_ptr 用于确保能够正确地删除动态分配的对象。scoped_ptr 有着与std::auto_ptr类似的特性,而最大的区别在于它不能转让所有权而auto_ptr可以。事实上,scoped_ptr永远不能被复制或被赋值!scoped_ptr 拥有它所指向的资源的所有权,并永原创 2009-02-22 03:13:00 · 1377 阅读 · 0 评论 -
pimpl 用法
pimpl 用法背后的思想是把客户与所有关于类的私有部分的知识隔离开。由于客户是依赖于类的头文件的,头文件中的任何变化都会影响客户,即使仅是对私有节或保护节的修改。pimpl用法隐藏了这些细节,方法是将私有数据和函数放入一个单独的类中,并保存在一个实现文件中,然后在头文件中对这个类进行前向声明并保存一个指向该实现类的指针。类的构造函数分配这个pimpl类,而析构函数则释放它。这样可以消除头文件与实转载 2009-02-22 04:30:00 · 1532 阅读 · 0 评论 -
Safe Bool idiom
Safe Bool idiom转自:http://visnuhoshimi.spaces.live.com/blog/cns!35416b2a4dc1b31b!2040.entry它的参考文献(英文的):http://www.artima.com/cppsource/safeboolP.html 在阅读boost源代码,看到这个词,以前从来没有注意过,使用boost的时候也从来没有转载 2009-02-22 19:47:00 · 2329 阅读 · 0 评论 -
同步 异步 阻塞 非阻塞
同步:函数没有执行完不返回,线程被挂起阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者?非阻塞:函数立即返回,通过select通知调用者?这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步 Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念在进行网络编程时,我们常常见到同步、异步、阻塞和非转载 2009-03-04 01:45:00 · 1657 阅读 · 0 评论 -
CreateProcess的用法
使用编译器vs2008。 第一、第二个参数的用法: 例子:使用ie打开指定的网页。注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h"#include #include int main(int argc, char* argv[]) { STARTUPINFO si = { sizeof(si) };转载 2009-03-08 10:01:00 · 61610 阅读 · 0 评论 -
VC6.0建立UNICODE程序的操作步骤
通过使用unicode编译,软件可以适应多种情况,如何在自己的工程中添加这两种编译方式呢?下面是一个简单的步骤 1、新建一个工程; 2、选择"Build->Configurations"菜单 3、点击"Add"按钮,添加"Unicode Debug"-拷贝"win32 Debug"配置 添加"Unicode Release"-拷贝"win32 Release"配转载 2009-03-23 23:55:00 · 1502 阅读 · 0 评论 -
ASP.NET Padding Oracle信息泄露漏洞
http://blog.sina.com.cn/s/blog_53aab5c10102v5et.html转载 2017-02-24 11:20:17 · 1111 阅读 · 0 评论