文章分类 -  VC++ API

VC++ 函数
摘要:http://zhidao.baidu.com/link?url=iQDtDtT7FkZzhTs4Jn7rn0B9akDcUc5oIxgKRKsoQQgRYtkLf0DGXzbcP6Lsnvi4Xuc4LVuucydzTTA1fOKrjahttp://baike.baidu.com/view/221... 阅读全文
posted @ 2014-09-16 11:01 stma 阅读(148) 评论(0) 推荐(0)
摘要:C++是编程语言,纯语言,C++开发不一定会涉及到窗口界面设计。MFC是基于C++语言的界面库,用来在C++开发时进行窗口界面设计的,由window的sdk开发包封装而来的,包含了大量window的API函数。还有种界面库是WTL/ATL。VC++就指C++与MFC的结合体,即可视化C++开发,有界... 阅读全文
posted @ 2014-06-10 10:46 stma 阅读(486) 评论(0) 推荐(0)
摘要://将UTF8转化为GB2312stringUTF8ToGB2132(stringstrSrc){stringresult;WCHAR*wstrSrc=NULL;char*szRes=NULL;inti;//UTF8转换成Unicodei=MultiByteToWideChar(CP_UTF8,0,strSrc.c_str(),-1,NULL,0);wstrSrc=newWCHAR[i+1];MultiByteToWideChar(CP_UTF8,0,strSrc.c_str(),-1,wstrSrc,i);//Unicode转换成GB2312i=WideCharToMultiByte(CP_ 阅读全文
posted @ 2013-07-28 20:03 stma 阅读(377) 评论(0) 推荐(0)
摘要:Unicode UTF-8 Ansi 互转及MultiByteToWideChar和WideCharToMultiByte用法等编码相关 qp::StringWGlobal::AnsiToUnicode(constchar*buf){intlen=::MultiByteToWideChar(CP_ACP,0,buf,-1,NULL,0);if(len==0)returnL"";std::vector<wchar_t>unicode(len);::MultiByteToWideChar(CP_ACP,0,buf,-1,&unicode[0],len);re 阅读全文
posted @ 2013-04-19 13:43 stma 阅读(423) 评论(0) 推荐(0)
摘要:void ConvertGBKToUtf8(CString& strGBK) {int len=MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, NULL,0);unsigned short * wszUtf8 = new unsigned short[len+1];memset(wszUtf8, 0, len * 2 + 2);MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, wszUtf8, len);len = WideCharToMultiByte(CP_UTF8, 0, 阅读全文
posted @ 2013-04-19 13:36 stma 阅读(447) 评论(0) 推荐(0)
摘要:// STL C/C++ template<class T> (a>b)?a:b cin.get();#include<iostream.h>#include<string.h>//定义函数模板template<class T> //template 是关键字,T 表示一种待实例化的类型//template<typename T> 也是对的T max(T a, T b)//函数模板,函数名为 max,此函数有2个T类型的参数,返回类型为T{ return (a>b)?a:b; }//在此例实例化的时候,T可以是多种类型的, 阅读全文
posted @ 2013-04-07 19:04 stma 阅读(244) 评论(0) 推荐(0)
摘要://参考 http://prglab.com/cms/pages/c-tutorial/advanced-concepts/templates.php函数模板( Function templates)模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是下面两种中的任何一个:template <class identifier> function_declaration;template <typename iden 阅读全文
posted @ 2013-04-07 18:52 stma 阅读(7728) 评论(0) 推荐(3)
摘要:这个不是指向数组哦,int*p[3]是指针的数组,由3个指向int值的指针构成。指向数组是int(*p)[3]声明了指向int[3]数组的指针p转自:http://bbs.csdn.net/topics/390415730?page=1#post-394124429先来看看三个指向字符串的指针变量: 指针变量site指向一个字符串:char*site="birduu.com"; 指针变量context指向一个字符串:char*context="coursetextbook"; 指针变量feature也指向一个字符串:char*feature=" 阅读全文
posted @ 2013-04-06 14:29 stma 阅读(553) 评论(0) 推荐(0)
摘要:C++ 多态演示http://www.blue1000.com/bkhtml/c151/2010-11/69751.htm// father.cpp : Defines the entry point for the console application.//我在学习的过程中发现的问题。#include "stdafx.h"#include <IOSTREAM>using namespace std;class father{public:virtual void show();};inline void father::show(){cout<< 阅读全文
posted @ 2013-03-21 16:07 stma 阅读(152) 评论(0) 推荐(0)
摘要:大 家都知道在C/C++中数组是不能直接赋值的,要赋值必须一个一个的赋值。现在我想知道C/C++的实现者为什么要这么做?按理说数组也是一个内置的数据 类型,能够直接赋值是顺利成章的事情,为什么要搞得不能赋值,而且还有数组名代表的是数组的地址为什么不能象结构(struct)的变量名一样代表的是它 的内存块的内容呢?还有我一直认为数组的定义int a[10]很别扭,没有int[20] a那么直观。定义一般就是类型 变量名;这点在java中就做得很好。上面的所有问题我现在很糊涂,希望知道的兄弟姐妹帮帮我!不知道当初的c/c++的设计者和标准的制定者是出于什么方面的考虑才把它们设计成这个样子???ma 阅读全文
posted @ 2013-03-20 18:35 stma 阅读(1741) 评论(0) 推荐(0)
摘要:来自http://tunps.com/json-convert-cjk图文并茂#include <stdio.h>int i;char *str1 = "cdef";sscanf(str1,"%x",&i);printf("%x\n",i);str1是需要转换成16进制int型的字符串。最后将”cdef”转为0xcdef。有些人问这个有什么鸟用呢。其实总所周知javascript object notation表示cjk字符串的形式是:\uXXXX,XX都是0~15(0~F)的数字。使用如下代码:DWORD dwN 阅读全文
posted @ 2013-03-19 11:45 stma 阅读(1922) 评论(0) 推荐(0)
摘要:三种访问权限public:可以被任意实体访问protected:只允许子类及本类的成员函数访问private:只允许本类的成员函数访问还有更详细的:http://www.cnblogs.com/bizhu/archive/2012/07/20/2601303.html//Delphi 同样适用。1.Published 问题 delphiPublished,发布的,主要是针对元件定义的类型,可以在属性列表中可见,使用同Public (打开delphi7新建一个应用程序后,你会发现左下角的就是窗体类的属性列表)public 和 published差不多,区别仅在于Published的成员可以被De 阅读全文
posted @ 2013-03-10 14:12 stma 阅读(311) 评论(0) 推荐(0)
摘要:static的全部用法 要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量: int a; string s; 其实就是: auto int a; auto string s; 而static变量的声明是: static int a; static string s; 这样似乎可以更有利于理解auto和static是一对成对的关键字吧,就像private,protected,... 阅读全文
posted @ 2013-03-10 11:46 stma 阅读(280) 评论(0) 推荐(0)
摘要:typedef函数指针的用法(C++) 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int);这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int在分析这种形式的定义的时候可以用下面的方法:先去掉typedef 和别名, 剩下的就是原变量的类型.去掉typedef和MYFUN以后就剩:int (*)(int, i 阅读全文
posted @ 2013-03-09 16:17 stma 阅读(251) 评论(0) 推荐(0)
摘要:最近也在学着修改Gh0st远控的源代码,源代码免杀起来还是方便、简单、有效和简单点。针对于输入输出表盯的比较紧的杀毒软件,最有效的还是进行函数动态调用。也就是说找到函数的原定义,包括值类型和参数等等,再在调用该函数的地方重新定义这个函数,其实也只是改下函数名而已,下面举个例子: CreateRemoteThread 作用是创建远线程,假设杀毒软件现在就杀在这个函数上,我们就这样处理,首先在代码中右键点击CreateRemoteThread函数-->转到定义,找到函数的原型: 函数原型如下: WINBASEAPI __out HANDLE WINAPI CreateRemoteT... 阅读全文
posted @ 2013-03-09 16:04 stma 阅读(484) 评论(0) 推荐(0)
摘要:VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。 使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项。 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNICODE,UNICODE。(注意中间用逗号隔开). 在没有定义UNICODE和_UNICODE前,所有函数和类型都默认使用ANSI的版本;在定义了UNICODE和_UNICODE之后,所有的MFC类和W. 阅读全文
posted @ 2013-03-07 21:56 stma 阅读(197) 评论(0) 推荐(0)
摘要:环境:VS2008-关联变量方法一:在控件上右键-变量-CEdit类型变量-输入变量名。方法二:添加代码头文件中定义变量CEdit m_edit_fileName;源文件中变量关联DDX_Control(pDX, IDC_FILENAME, m_edit_fileName);-取得文本取得CEdit中输入文本的函数:int GetWindowTextA( LPTSTR lpszStringBuf, int nMaxCount ) const;void GetWindowTextA( CString& rString ) const;-设置文本设置CEdit中文本的函数:void S.. 阅读全文
posted @ 2013-03-07 21:48 stma 阅读(3677) 评论(0) 推荐(0)
摘要:// to UTF-8char text[1024]={0};WCHAR w[1024]={0};int erg=0;strcpy(text, m_pData);erg=MultiByteToWideChar(CP_ACP, 0, text, -1, w, sizeof(w) / sizeof(WCHAR)); // ANSI to UNICODEerg=WideCharToMultiByte(CP_UTF8, 0, w, -1, text, sizeof(text), 0, 0); // UNICODE to UTF-8转自:http://zhidao.baidu.com/question/ 阅读全文
posted @ 2013-03-07 15:55 stma 阅读(485) 评论(0) 推荐(0)
摘要:输出:pp = "i am a strudent";备注:WideCharToMultiByte与MultiByteToWideChar中第6个参数设置为零时,则不进行转换,而直接返回出对应转换所需要的存储区大小。故而实际使用中常如下:LPSTR p = "i am a strudent";int mm = MultiByteToWideChar(CP_ACP, 0, p, -1, NULL, 0);LPWSTR pp = new TCHAR[mm];MultiByteToWideChar(CP_ACP, 0, p, -1, pp, mm);delete 阅读全文
posted @ 2013-03-06 19:28 stma 阅读(122) 评论(0) 推荐(0)
摘要:一直用php开发,在php开发用字符编码转换很简单只要用iconv函数就可以实现,最近的项目要把vc的数据提交给php处理,在返回给vc结果, 问题来了,vc项目的编码是GB2312,而PHP程序是utf-8编码,导致数据乱码。 看到乱码第一感觉就是编码问题了。 vc中有像iconv这样的函数吗?查msdn没有。恩,看来还是php好用啊。不亏是我喜欢的语言。 vc中怎么实现呢?要utf8->gb2312谷歌到的结果是,要先把utf8转换为unicode编码,在把unicode转换成GB2312。也就是utf8 ->unicode ->gb2312这个过程。 如果要从Gb231 阅读全文
posted @ 2013-03-06 11:43 stma 阅读(460) 评论(0) 推荐(0)