![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
zsl461975543
这个作者很懒,什么都没留下…
展开
-
ini档的读写
1 读取CString str;::GetPrivateProfileString("USER_NAME_INFO","USERNAME","abc",str.GetBuffer(20),20,"./ServerAddressInfo.ini");2 写入 WritePrivateProfileString("USER_NAME_INFO","USERNAME","abc",str原创 2012-02-01 12:18:12 · 423 阅读 · 0 评论 -
接口和抽象类的区别
博客首页登录注册当爱已成往事 —— 张国荣发博文博文天天的博客http://blog.sina.com.cn/ggsunny4ever [订阅][手机订阅]首页博文目录图片关于我个人资料天转载 2012-03-31 10:28:14 · 1028 阅读 · 0 评论 -
peek和eof有什么区别
在c++读文件经常遇到这样的问题#include #include using namespace std;int main(){//char name[3][4]={"tom","joc","wan"};//float score[3]={98.1,89.2,87.3};//fstream binfile;//binfile.open("d:\原创 2012-04-06 12:06:47 · 672 阅读 · 0 评论 -
ondo和redo的实现,用循环链表,并保存到文件中
#include #include #include //#include using namespace std;#define MAX_SIZE 10//存储 执行,恢复的循环链表typedef struct tagRLink{ tagRLink * pFirest; //前一个节点 tagRLink * pNext; //后一个节点 voi原创 2012-04-07 13:26:33 · 497 阅读 · 0 评论 -
解决CString 不能再控制台识别的问题
如果你CString写的没错,而且创建的工程是控制台程序的话,要包含头文件afx.h而且要加载mfc的库,设置办法:菜单栏里的project->settings->General选项卡下的Microsoft Foundation Classes:中选Use MFC,选静态或动态都可以,但是动态调用的话需要把MFC的动态库放在system32文件夹下。转载 2012-04-24 20:21:14 · 1212 阅读 · 0 评论 -
link2005 错误
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文转载 2012-04-25 12:49:57 · 410 阅读 · 0 评论 -
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libcmtd.lib(mbctype.obj)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libcmtd.lib(mbctype.obj)错误解决方法:在 vc6.0菜单,工程-》设置-》link->y 分类(选input),然后,在忽略库中输入libcmtd.lib 。重新编译即可原创 2012-04-25 13:14:00 · 2760 阅读 · 0 评论 -
com 组建运行机理
COM组件的运行机制2010-07-17 16:50COM组件的运行机制,即COM是怎么跑起来的。 这部分我们将构造一个创建COM组件的最小框架结构,然后看一看其内部处理流程是怎样的 IUnknown *pUnk=NULL; IObject *pObject=NULL; CoInitialize(NULL); CoCreateInstance(C转载 2012-05-30 13:56:22 · 543 阅读 · 0 评论 -
vc连接数据库设置配置信息
1 新建一个txt文件;2 把后缀名改成.udl(txt->udl)3 在右键,属性-连接-进行信息配置-测试连接;4 在把.udl->txt;5 恭喜您,成功了; // 配置函数bool CDatabase::configurationInfomation(){ CoInitialize(NULL); // 设置数据库连接信息 int h原创 2012-07-07 13:11:28 · 551 阅读 · 0 评论 -
ADO中的SQL语句
】ADO中的SQL语句2011-06-17 19:49转载自 bjwyl66最终编辑 bjwyl661、在ADO连接数据库查询的时候,有时候要根据一个变量得到一个具体值,然后根据这个值去查询数据库,这样它的SQL语句是这样写的:CString strQuery; strQuery.Format("SELECT * FROM 表名 WHRER fi转载 2012-07-07 12:59:31 · 429 阅读 · 0 评论 -
com 组建注册
F:\mydom\CLIENT\Debug\COMPNT1.dll原创 2012-07-09 17:00:32 · 321 阅读 · 0 评论 -
ADO进行客户端数据库编程的基本步骤
李安东 ADO数据库编程入门 文档简介: 本文简要介绍了在VC++ 6.0中使用 ADO进行客户端数据库编程的基本步骤,以及常见问题的解决方法,可供入门级的参考之用。关键字: ADO VC++ 数据库编程目录: 在VC++中使用ADO编程 使用#import方法的编程步骤 使用ADO编程常见问题解答转载 2012-07-11 12:34:11 · 754 阅读 · 0 评论 -
多线程
多线程(Multi-Thread)一、 程序、进程、线程的概念1、程序(Program)n 程序是一个具体的文件,是计算机指令的集合,存储在磁盘上,如EXE文件。2、进程(Process)n 进程:是一个正在运行程序的实例,是程序在其自身的地址空间中的一次执行活动。n 进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被原创 2012-07-13 15:45:14 · 1040 阅读 · 0 评论 -
VC++调用ADO运行带参数的存储过程 - [VC++6.0]
最近由于工作之需,要利用VC进行一些高级的数据库操作,如执行存储过程等。遍寻网络资源发现好使的不多(经常#30XX错误,大部分应该是COM的VARIANT数据类型所致,其实有个讨巧的方法,请看下文),在自己的实验下小有所得。记下学习笔记以备参考:1 进行ADO编程的必备步骤:引入msado15.dll #import "c:\program files\common files\syste转载 2012-07-13 16:21:14 · 2666 阅读 · 0 评论 -
调试器的实现
Zplutor's博客园 首页 博问 闪存 新随笔 联系 订阅 管理 随笔-35 评论-90 文章-0 trackbacks-0 [Win32]一个调试器的实现(十一)显示函数调用栈本文讲解如何在调试器中显示函数调用栈,如下图所示: 原理首先我们来看一下显示调用栈所依据的原理转载 2012-07-18 11:21:05 · 2837 阅读 · 0 评论 -
如何写错误log
#include #include #include char g_szLogFileName[20] ="d:\\abc.txt";//typedef char* LPCTSTR;void WriteLog(int nLevel,LPCTSTR lpszFormat,...){ if(nLevel return; CString str; swi原创 2012-08-08 10:37:33 · 387 阅读 · 0 评论 -
WSAEventSelect
#include "WSAInit.h"#include #include #include // 初始化Winsock库CWSAInit theSock;int main(){ // 事件句柄和套节字句柄表 WSAEVENT eventArray[WSA_MAXIMUM_WAIT_EVENTS]; SOCKET soc转载 2012-08-13 14:40:59 · 369 阅读 · 0 评论 -
saf文件代码
/****************************************************************************** * SIMPLE ASF PARSER by fanoble (fanoblem@gmail.com) * 2005.8.10 **************************************************转载 2012-09-07 18:17:13 · 965 阅读 · 0 评论 -
ASSERT_VALID宏
ASSERT_VALID()验证指针是否指向空值// Assure that pMyObject is a valid pointer to an// object derived from CObject.ASSERT_VALID(pMyObject);See Also ASSERT, VERIFY原创 2012-09-27 11:49:52 · 439 阅读 · 0 评论 -
鼠标拖拽2
Drag and Drop: Implementing a Drop TargetTo implement a drop targetAdd a member variable to each view in the application that you want to be a drop target. This member variable must be of type翻译 2012-09-27 14:34:08 · 429 阅读 · 0 评论 -
c++获取一个运行时的类(类名)
RUNTIME_CLASSRUNTIME_CLASS(类名)---括号里不加引号。// example for RUNTIME_CLASSCRuntimeClass* prt = RUNTIME_CLASS( CAge );ASSERT( lstrcmp( prt->m_lpszClassName, "CAge" ) == 0 );原创 2012-09-27 11:43:33 · 664 阅读 · 0 评论 -
vc鼠标拖拽效果的实现
COleDropTarget1. 主要是COleDropTarget的实现,注册COleDropTarget对象 BOOL Register( CWnd* pWnd );2。实现COleDropTargetConstructs a COleDropTarget object.OperationsRegisterR原创 2012-09-27 11:54:44 · 921 阅读 · 0 评论 -
鼠标拖拽操作3
Data Objects and Data Sources: Manipulation1. After a data object or data source has been created, you can perform a number of common operations on the data, such as inserting and removing data, en翻译 2012-09-27 14:52:16 · 397 阅读 · 0 评论 -
当鼠标放上去显示提示信息
BOOL CMyTree::OnToolTipText( UINT id, NMHDR * pNMHDR, LRESULT * pResult ){ // need to handle both ANSI and UNICODE versions of the message TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR; TOOLTIPT原创 2012-09-28 11:29:52 · 2934 阅读 · 0 评论 -
鼠标拖动(源数据)
void CMyTree::OnBegindrag(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; CPoint ptAction; UINT nFlags; GetCursorPos(&ptAction); ScreenToClient(&p原创 2012-09-28 11:21:22 · 523 阅读 · 0 评论 -
RTP协议分析
RTP协议分析一. RTP协议背景 1二. RTP协议原理及工作机制 22.1 RTP协议原理 22.1.1 RTP协议原理 22.1.2 RTCP协议原理 22.2 RTP数据包格式 42.2.1 RTP数据包格式 42.2.2 RTCP数据包格式 5BYE包表明一个或多个源将要离开。如果混合器收到BYE包,混合器应当发送这个BYE包,并保持SSRC/CS原创 2012-09-12 18:07:15 · 677 阅读 · 0 评论 -
代开文件路径
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、方法1、、、、、、、、、、、、、、、、、、、、、、、、、、、、、/* * 设置文件保存位置 */void CClientDlg::OnButtonSetFilePath() { TCHAR tcSaveFilePath[MAX_PATH]; //临时字符数组 BROWSEINFO browInfo =原创 2012-09-19 11:31:32 · 140 阅读 · 0 评论 -
创建一个新的guid,并且转换成cstring类型
//创建一个guid OleInitialize(NULL); GUID pguid; int p = GetLastError(); HRESULT hr = CoCreateGuid(&pguid); OleUninitialize( ); PTREESECOND gropuInfo = new TREESECOND/*PGroupInfo*/; strn原创 2012-10-11 13:47:08 · 1742 阅读 · 1 评论 -
string 类型转换成byte
BYTE StringToByte(LPCTSTR strSrc,int nCount){ int nResult=0; CString str(strSrc); if (str.IsEmpty()) return nResult; for(int i=0;i { int h=str.GetAt(i); if(h>=48 && h {原创 2012-10-11 13:48:30 · 447 阅读 · 0 评论 -
url 转换成ip
DWORD URLToIPAddr(char *url){ DWORD nIpAddr = 0; if(strlen(url) return 0; nIpAddr = inet_addr(url); if(INADDR_NONE == nIpAddr) { //通过DNS转换为IP地址 struct hostent *host = gethostbyn原创 2012-10-11 13:49:40 · 1641 阅读 · 0 评论 -
写bin文件
void CSysParam::SaveThreadInfo(){CMutex m_AryThreadMutex;//资源CPtrArray m_pAryThread;//保存进入链表 CSingleLock lock(&m_AryThreadMutex); lock.Lock(); FILE *fp = NULL; char szFileName[256];原创 2012-10-11 13:54:45 · 403 阅读 · 0 评论 -
OnToolHitTest(鼠标滑过,显示标题信息)
1,添加消息响应2。在OnToolTioText()中实现响应的功能BOOL CMyTree::OnToolTipText( UINT id, NMHDR * pNMHDR, LRESULT * pResult ){ // need to handle both ANSI and UNICODE versions of the message TOOLTIPTEXTA* pTT原创 2012-10-12 17:43:31 · 1347 阅读 · 0 评论 -
CMapStringToOb::Lookup
CMapStringToOb::Lookup (查找)BOOL Lookup( LPCTSTR key, CObject*&rValue ) const;Return ValueNonzero if the element was found; otherwise 0.ParameterskeySpecifies the string key that identifi原创 2012-10-16 14:18:58 · 1614 阅读 · 0 评论 -
cdc 和 hdc 的关系以及转换
VC中CDC与HDC的区别以及二者之间的转换(2010-01-27 10:53:25) 标签:杂谈分类: 编程语言学习总汇CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有M转载 2012-09-26 09:27:55 · 563 阅读 · 0 评论 -
c++中如何避免两个文件互相引用
在A类中的头文件声明,文件中类B client.h class A; class B{......}在B的.cpp文件中#include"A.h"A *B:: GetA(){A *p = new A;return A;}通俗说:就是在B类的头文件中声明另外一个引用的类的声明,在B.cpp文件中,添加#include""包含过来原创 2012-10-22 22:25:59 · 508 阅读 · 0 评论 -
widnows i/o重叠套接字编程
#include #include #include #pragma comment(lib,"Ws2_32.lib")#define PORT 5557#define DATA_BUFSIZE 8192typedef struct{ OVERLAPPED Overlapped; WSABUF DataBuf; CHAR Buffer[DATA_原创 2012-11-12 22:41:40 · 563 阅读 · 0 评论 -
获取局域网的ip和主机名
#include "winsock.h"//#include #include "atlconv.h"#pragma comment(lib, "ws2_32.lib ")#pragma comment(lib, "mpr.lib") void CIoipDlg::OnOK() { // TODO: Add extra validation h转载 2012-11-13 17:34:30 · 503 阅读 · 0 评论 -
ddraw简单例子,(设置系统声音)
//------------------------------------------------------------------------- // 文件名 : 6_1.cpp// 创建者 : 方煜宽// 邮箱 : fangyukuan@gmail.com// 创建时间 : 2010-12-1 23:37// 功能描述 : 一个简单的DD转载 2012-11-14 14:59:24 · 315 阅读 · 0 评论 -
写日志文件
BOOL _WriteLog(FILE* pFileLog, char* pszFileName, CString strContents, char* pszFileMode){ return WriteLog(pFileLog, pszFileName, strContents, pszFileMode);}BOOL WriteLog(FILE* pFileLog, char*原创 2012-11-22 09:03:42 · 304 阅读 · 0 评论 -
HiView数据库操作
#include "StdAfx.h"#include "OperatorData.h"extern CString szVariable;//////////////////////////////////// 类的成员函数 //////////////////////默认构造函数CDatabase::CDatabase(){//设置数据源m_DatabaseSc原创 2012-12-10 09:38:33 · 476 阅读 · 0 评论