
C/C++
文章平均质量分 52
Nancy_
当一个人在原地找不到出口的时候,就会自然而然地想去远方。
展开
-
C++程序dll崩溃如何定位分析?
dump使用原创 2022-11-23 07:58:47 · 939 阅读 · 0 评论 -
objectarx 读取外部DWG图到当前图形
void CTrimeDraw::MyReadDwgFile(CString str){AcDbDatabase pExternalDb(Adesk::kFalse);// 外部图形数据库if (Acad::eOk != pExternalDb.readDwgFile(str,_SH_DENYRW,false)){acedAlert(_T("读取DWG文件失败!"));return;}AcDbDatabase *pTempDb,*pData;if (Acad:...转载 2021-03-31 14:39:43 · 1133 阅读 · 0 评论 -
ocx签名
【工具路径】C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\Bin【生成证书和密钥】Makecert -sv xxx.pvk -r -n "CN=xxx" xxx.cer【签名过程】[1]Cert2spc xxx.cer xxx.spc[2]pvk2pfx -pvk xxx.pvk -pi PAS...原创 2019-10-21 13:45:02 · 651 阅读 · 0 评论 -
gbk转unicode
LPCWSTR pwcUserId = A2CW((LPCSTR)(LPCTSTR)sAttrName);原创 2019-10-21 13:43:53 · 381 阅读 · 0 评论 -
new 和malloc
new 实现extern void* operator new( size_t size ){ if( size == 0 ) size = 1; void *last_alloc; while( !(last_alloc = malloc( size )) ) {原创 2012-12-20 09:34:48 · 639 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。转载 2013-03-26 10:55:09 · 1504 阅读 · 0 评论 -
自定义实体 arx
1. extern "C" AcRx::AppRetCodeacrxEntryPoint(AcRx::AppMsgCode msg, void* pkt){switch (msg) { case AcRx::kInitAppMsg: acrxDynamicLinker->unlockApplication(pkt); // c原创 2013-03-26 10:56:01 · 4345 阅读 · 0 评论 -
static 全局变量和普通全局变量
两者的存储方式没有什么不同,都存储在静态存储区;静态全局变量限制了他的作用域(非静态全局变量在整个源文件中都是有效的)即只在定义该变量的源文件内有效,同一源程序的其他源文件不能访问。static全局变量和普通全局变量static 全局变量和普通全局变量static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区原创 2013-04-22 17:49:30 · 1172 阅读 · 0 评论 -
ofstream的使用方法
ofstream的使用方法 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以转载 2013-04-26 09:26:40 · 3273 阅读 · 1 评论 -
isalnum
原型:extern int isalnum(int c);用法:#include ctype.h>功能:判断字符变量c是否为字母或数字说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。举例:// isalnum.c#include #include main(){int c;clrscr(); // clear scre转载 2013-04-27 11:23:03 · 1076 阅读 · 0 评论 -
vector::assign
#include void assign( size_type num, const TYPE& val ); void assign( input_iterator start, input_iterator end ); 函数assign()将区间[start, end)中的值或num个val的副本赋值给当前的vector.此函数将销毁先前vector中的内容.例如, 下转载 2013-05-02 17:36:21 · 1044 阅读 · 0 评论 -
VC 中出现的错误 vs编译器
1、fatal error C1010: unexpected end of file while looking for precompiledheader directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include"stdafx.h")2、fatal error C1083: Cannot open include file: 'R…….h': No原创 2013-03-26 10:53:09 · 1587 阅读 · 0 评论 -
C++下基于COM的XML格式字符串解析,生成
C++下基于COM的XML格式字符串解析,生成现在,XML格式字符串广泛应用于各种信息的交互。不论你是做网络开发,还是桌面应用程序开发,甚至是游戏开发,都会不可避免的碰到XML格式的字符串,今天这篇文章来介绍一下在C++语言下,基于COM的XML字符串的解析与生成。首先这里要明确两个基本概念,一个是COM,一个是XML格式。先来说COM,COM的全称是Component Objec转载 2013-03-26 10:58:12 · 2335 阅读 · 0 评论 -
C语言指针
深入理解C语言指针的奥秘 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int*原创 2013-03-26 10:54:37 · 744 阅读 · 0 评论 -
VC文档各个类关系
VC 6.0文档视图结构一、概述 文档/视图结构是在Visual C 中使用MFC开发基于文档的应用程序的基本框架。在这个框架中,数据的维护及显示分别由两个不同但又彼此紧密相关的对象――文档和视图负责的。具体地说,用户对数据所做的任何改变都是由文档类负责管理,而视图通过调用此接口实现对数据的访问和更新。 本节围绕这一结构的各个环节展开计论,因为理解原创 2013-03-26 10:52:20 · 1915 阅读 · 0 评论 -
独立函数
#include "StdAfx.h"#include "TBecCommonUtils.h"#include #if ADS #include #endif // 取得字符串长度inline int SStrLen(LPCTSTR pszString){return (NULL == pszString) ? 0 : (int)_tcslen(pszS原创 2013-03-26 10:59:03 · 2366 阅读 · 0 评论 -
基于openSER 的 sip register 注册过程
authenticate 身份鉴定authorize 授权, 批准challenge 查问身份subscriber 用户openSER.cfg 中注册的配置摘录如下:route [0] {#----------------------------------------# Block begin: REGISTER#---------------转载 2013-03-23 22:32:08 · 1473 阅读 · 0 评论 -
C++操作Excel(导入导出)
/// /// 读取Excel文档 /// /// 文件名称 /// 返回一个数据集 public DataSet ExcelToDS(string Path) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Proper转载 2013-03-29 10:28:12 · 9366 阅读 · 0 评论 -
assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:转载 2013-03-11 10:53:35 · 803 阅读 · 0 评论 -
new
对new 实现机制的分析// 平台:VC6.0#include #include #include #include //#include "vclib.h"double *Alloc_Double_Array(long length){ double *array = NULL; if( NULL =转载 2012-12-20 10:54:58 · 604 阅读 · 0 评论 -
list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空empt
list头文件:#include using namespace std; list和vector的不同在于,vector采用的顺序存储,即vector中的元素像数组一样,一个紧挨着一个存放。所以vector可以进行随机存取。(通常情况下使用vector是最优的选择)。但是每当从vector中删除一个元素或向vector中插入一个元素时,代价都比较高。而list则不一样。l转载 2013-05-03 12:55:34 · 31094 阅读 · 0 评论 -
c++ 生成pdf
本文示例源代码或素材下载 本文代码生成的PDF文档效果图 一、PDF介绍 PDF是Portable Document Format的缩写,PDF文件格式是国际通用的电子文档交换事实标准,被许多国家采用作为电子文档交换。PDF文件可以在各种平台下阅读、编辑、发布。该文件格式支持字体、图像、甚至任何附件的嵌入。您可以通过免费的Adobe Acrobat Reader来阅读转载 2013-06-07 10:57:37 · 14019 阅读 · 2 评论 -
ObjectARX全部版本下载
2010(32位和64位版本)http://download.autodesk.com/akdlm/esd/dlm/objectarx/ObjectARX_2010_Win_64_and_32Bit.exe2009(32位和64位版本)http://download.autodesk.com/esd/objectarx/2009/ObjectARX_2009_Win_64_and_32转载 2013-06-17 22:19:47 · 3421 阅读 · 0 评论 -
String,CString,TCHAR*,char*之间区别和联系
最近老用到Cstring, TCHAR*, char*的转换.找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅.char是类型TCHAR也是!不过他可以通过是否定义了UNICODE宏来判断到底是char还是w_char;TCHAR是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用同样的代码,不需要使用繁琐的宏定义来包含你的代码,而char代转载 2014-11-26 15:55:48 · 1487 阅读 · 0 评论 -
C++11标准 STL正则表达式 验证电子邮件地址
/* * regex.cpp - 用正则表达式验证电子邮件地址 * * C++11标准 STL正则表达式 * * * Copyright 叶剑飞 2012 * * 编译命令: * cl regex.cpp /EHsc /link /out:regex.exe * */#include #in转载 2014-11-13 16:34:19 · 6459 阅读 · 0 评论 -
C,C++,VC判断当前操作系统是那种语言 GetSystemDefaultLangID()
获取当前系统版本 是什么语言。#include #pragma comment(lib,"Kernel32.lib") LANGID lid = GetSystemDefaultLangID(); switch (lid) { case 0X0804: //MessageB转载 2014-11-13 10:20:18 · 9364 阅读 · 0 评论 -
SOAP 错误代码
下表列出的是 SOAP 响应中可能会传回的错误代码。错误代码说明1内部错误。2参数无效3条目不存在。4用户名或密码无效。5您无权执行此操作。6此功能尚未实施。7您的密码已过期。10转载 2014-03-27 17:18:21 · 15076 阅读 · 1 评论 -
提示信息框(MessageBox)的应用
应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确,或者是应用程序有一些提示信息要告诉用户,都必须通过提示信息处理程序来显示适当的信息,让用户了解下一步该如何配置。提示信息有很多种类,包括警告,错误,提示,确认,重试等。不同种类的提示信息框适合用在各种不同的情况。 在C++Builder中开发提示信息框只须调用MessageBox这转载 2013-10-21 17:13:30 · 6508 阅读 · 0 评论 -
SHELLEXECUTEINFO 和 ShellExecuteEx的使用
在日常工作中用到的一些知识,很久没有总结过,前几日参加一个会议,很是无聊。自己思索着自己这两年来所做过的东西,写着写着居然也写下了100个知识点。想把它一条一条总结下来,动笔总不是很容易。就拿这篇文章作为第一篇。 很多东西取之于网络,也有一些自己的心得。才疏学浅,就当一个知识梳理的过程吧。 第一篇 SHELLEXECUTEINFO 和 ShellExe转载 2013-10-17 16:38:08 · 1806 阅读 · 0 评论 -
GetLastError 错误号意义!0-------999
〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效转载 2013-10-17 14:45:00 · 2840 阅读 · 0 评论 -
判断判断Variant变量是否为空
_variant_t bh;if(bh.vt==VT_EMPTY||bh.vt==VT_NULL)原创 2013-10-14 11:35:12 · 8645 阅读 · 0 评论 -
bcb写xml
//激活bom.xml pXMLDocument->LoadFromFile(WideString("Bom.xml")); pXMLDocument->Active = true; //删除所有子节点,以便重新插入 //通过DocumentElement得到根节点root_node _di_IXMLNod原创 2013-09-29 12:06:34 · 2408 阅读 · 0 评论 -
C/C++读写xml文件
MSXML2::IXMLDOMDocumentPtr pDoc; MSXML2::IXMLDOMElementPtr xmlRoot ; // 创建DOMDocument对象 HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40)); if ( ! SUCCEEDED(hr)) {转载 2013-09-16 17:51:00 · 28786 阅读 · 1 评论 -
对vector等STL标准容器进行排序操作
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别。1 STL提供的Sort 算法转载 2013-09-30 11:45:55 · 1011 阅读 · 0 评论 -
C++使用vector按多字段排序。
C++当中vector的数据类型是基本类型时,我们利用std::sort很容易排序,当我们的类型是自定义的结构体,并且我们还要实现按多字段排序,我有两种方法:1.我们通过重载operator方法来实现:本例子实现了struct中多个字段排序:[cpp] view plaincopyprint?#include #include #include转载 2013-09-30 09:41:40 · 5705 阅读 · 0 评论 -
vc++调用bcb的dll(一)
bcb6中:extern "C" __declspec(dllexport) void __stdcall ShowF(void);void _export _stdcall ShowF(void){ ShowMessage("kkkkkkkkkkkkk");}//////////////////////////////////////////////////////原创 2013-08-02 10:25:37 · 2673 阅读 · 0 评论 -
vc调用bcb的dll(二)
(一是调用函数,二是调用类)bcb中:class xout{ virtual void __fastcall fun(){ShowMessage("mmmmmmmmmmmmmm");};};xout out;extern "C" __declspec(dllexport) xout * __stdcall GetOutClass(){ return &原创 2013-08-05 11:16:16 · 1312 阅读 · 1 评论 -
c++用idl文件的com组件开发
我用vc6 classwizard,添加类,添加应用程序,编译生成.h和.cpp,然后拷贝到vs2005工程目录下, //Initialize COM library... if (FAILED(CoInitialize(NULL))) return; CLSID clsid; CLSIDFromProgID(L"ViewDraw.Application", &原创 2013-08-02 10:43:19 · 5702 阅读 · 3 评论 -
STL vector按多字段值排序
上一篇我们讲到STL map的key如果由多个值组成,并按照这些值分别进行排序的情况。在最后的结论中我们说到“通常我们不用STL algorithm中的sort函数,来对一个map进行排序,而对vector的元素进行排序则可以很方面地使用sort函数。” 下面就是一个完整的,vector按多字段值进行排序的示例代码:[cpp] view plaincopyprint?转载 2013-09-30 11:49:59 · 2107 阅读 · 0 评论 -
VC6.0读取Excel数据
现在对Excel的操作越来越流行,可能还有对表格的格式进行修改等复杂的操作,这里只说明读取Excel文件的方法(这里以2003为例)。 1. 首先要将excel类添加到工程中。在ClassWizard中,【Add Class】,在Excel的安装目录找到Excel.exe(Microsoft2003是Excel.exe;2007应该又独立的lib库,这个没有验证),添加转载 2013-07-02 16:55:57 · 1633 阅读 · 0 评论