随笔分类 - 笔试/面试
摘要:发送端:新建一个基本对话框工程,添加6个文本框控件,并且关联控件变量(CString类型):m_strCopyData, m_strFileMap, m_strMem,m_strRegMsg, m_strUserMsg, m_strClipBoard然后在 CPP 文件里面,做如下定义:#define BUFFER_SIZE0x100 // 用内存地址通信时分配的最大内存.#define WM_COMMWM_USER+100const UINTwm_nRegMsg=RegisterWindowMessage("reg_data");const UINTwm_nMemMsg=
阅读全文
摘要:(1) 线程的创建:(主要以下2种)CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID lParam, int nPriority =THREAD_PRIORITY_NORMAL, UINT nStackSize= 0, DWORDdwCreateFlags = 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs = NULL );HANDLECreateThread( LPSECURITY_ATTRIBUTESlpThreadAttributes, // SD SIZE_T...
阅读全文
摘要:1. 工具:1.1设备环境类:Windows下的绘图操作说到底就是DC操作。DC(Device Context设备环境)对象是一个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其它。这个环境是设备无关的,所以你在对不同的设备输出时只需 要使用不同的设备环境就行了,而作图方式可以完全不变。这也就是Windows的设备无关性。MFC的CDC类封装了Windows API 中大部分的画图函数。CDC的常见操作函数包括:Drawing-Attribute Functions:绘图属性操作,如:设置透明模式Mapping Functions:映射操作Coordinate Functions:坐标操
阅读全文
摘要:vc中获取windows版本信息,一般是调用GetVersionEx 这个API函数来获取的,这个API需要OSVERSIONINFOEX 这个结构体作为参数,OSVERSIONINFOEX 的对应的具体的OS版本类型详细如下:Operating systemVersion numberdwMajorVersiondwMinorVersionOtherWindows8.16.3*63OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATIONWindows Server2012R26.3*63OSVERSIONINFOEX.wProductType !=
阅读全文
摘要:在VC++中,要实现对回车键的响应实现,一般通过截获消息来响应,即通过处理BOOL PreTranslateMessage(MSG* pMsg)这个函数来处理实现如下:BOOL PreTranslateMessage(MSG* pMsg){ if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN ) //屏蔽ALT+F4{ //处理响应回车键后的动作} return __super::PreTranslateMessage(pMsg);}
阅读全文
摘要:1.1WS_CLIPCHILDRENWS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口。MSDN里的E文解释:Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.读E文是一件困难的事,为了不让大家再重复我的痛苦,我就越俎代庖翻译一下:WS_CLIPCHILDREN样式主要是用于父窗口,也就是说当在父窗口绘制的时候,父窗口上还有一个
阅读全文
摘要:Windows平台为我们提供了多种进程间通信的机制,主要包括:注册表方式、共享文件方式、共享内存方式、共享数据段、映射文件方式、管道方式、 剪贴板方式、消息方式。其中注册表方式需要增加注册表表项,而注册表一般不应删改,所以此种方式不被推荐;共享数据段需要借助动态链接库,实现起来比较麻 烦,这种方式也不被推荐。下面重点介绍一下其它几种进程间通信的实现方式。1.共享文件方式(1)数据发送数据发送进程为通过Cfile类创建一个共享文件,然后调用Write()方法想文件中写入数据,具体如下:void CSendDlg::OnSend(){ //TODO: 在此添加控件通知处理程序代码 UpdateDa
阅读全文
摘要:要在Unicode字符集环境下把CString转化为char*方法: CString str = _T("D://校内项目//QQ.bmp");//////leo这个NB 可以降在Unicode下的CString转化为char* //声明标识符 USES_CONVERSION; //调用函数,T2A和W2A均支持ATL和MFC中的字符转换 char * pFileName = T2A(str); //char * pFileName = W2A(str); //也可实现转换在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默
阅读全文
摘要:查找字符串(C++实现),不使用库函数:// SubString.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;bool FindSubString(char* srcStr,char* subStr){ char* p = srcStr; char* q = subStr; if(p ==NULL || *p== '\0') return false; while(p != NULL) { //subStr 循环比较结束 if(...
阅读全文
摘要:字符串右移n位(C++实现):// ShiftNString.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;void Reverse(char* begin, char* end){ char temp; while(begin < end) { temp = *begin; *begin++ = *end; *end = temp; end --; }}void Shift(char* str,int n){ in...
阅读全文
摘要:字符串反转 C++实现,不使用系统函数:// ReverseString.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;char* ReverseString(char* str){ char* p = str; char* q = str; char temp; while(*q != NULL && *q != '\0') { q ++; } q --; while(p < q ) { temp = *p; ...
阅读全文
摘要:转载自:http://blog.csdn.net/yjh0628/article/details/58301531 从const int n 说起 const int n=20,有了const修饰的n 我们不称它为变量,而称符号常量,代表着20这个数。这就是const 的作用。n是不能在它处重新赋新值了。 认识了const 作用之后,另外,我们还要知道格式的写法。有两种:const int n=20;与int const n=20;。它们是完全相同的。这一点我们是要清楚。总之,你务必要记住const 与int哪个写前都不影响语义。有了这个概念后,我们来看这两个家伙:const int * p.
阅读全文
摘要:上一篇写了 双向链表,今天复习了循环链表,就写了个带有头结点的循环链表。具体实现如下:结点类文件(ListNode.h):template<typename T> class CircularList;template<typename T>class ListNode{public: friend class CircularList<T>; ListNode():m_pnext(NULL) { } ListNode(const T data, ListNode<T>* pnext = NULL):m_data(data),m_pnext(pn
阅读全文
摘要:前面两篇是关于顺序表和单链表的,下面这个是双向链表,具体实现代码如下:结点类文件(ListNode.h):template<typename T> class DoubleList;template<typename T>class ListNode{private: ListNode():m_pprior(NULL),m_pnext(NULL) { } ListNode(const T item,ListNode<T>* pprior = NULL,ListNode<T>* pnext = NULL) { m_data = item; ...
阅读全文
摘要:C++ 数据结构与算法(二)线性表之单链表:写的不足之处,望指教:)。ListNode.h:template<typename Type> class SingleList;template<typename T>class ListNode{//链表结点类public: ListNode():m_pnext(NULL) { } ListNode(const T item,ListNode<T>* next= NULL):m_data(item),m_pnext(next) { } ~ListNode() { m_pnext = N...
阅读全文
摘要:Seqlist.h:const int DefaultSize = 100;template <class T>class SeqList{public: SeqList(int sz = DefaultSize) :m_nmaxsize(sz),m_ncurrentsize(-1) {//初始化顺序表 if(sz > 0) { m_element = new T[m_nmaxsize]; } } ~SeqList() { delete[] m_element; } ...
阅读全文