DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 400 401 402 403 404 405 406 407 408 ··· 474 下一页

2013年9月14日

摘要: 关于Char* ,CString ,WCHAR*之间的转换问题GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*。我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *。得益于网上牛人们的总结,我用到以下几种基本方法去实现三者间的转换:char * 转WCHAR *:::MultiByteToWideChar(CP_ACP,0,(const char *)res,int count,char * dest,int count);类似地,WCHAR *转char *:WideCharToMultiByte(C 阅读全文
posted @ 2013-09-14 23:44 DoubleLi 阅读(982) 评论(0) 推荐(0)

摘要: 在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于程序的一切细节都没有控制权的感觉。这种感觉来源于学习者不知道一个MFC程序是如何运行起来的(即一个MFC程序的执行流程)和MFC程序的设计思想和机制,即使是写过Windows程序的学习者,也会感到非常迷惘并且无从下手。而这种感觉的出现会使大家认为自己离开了书本上的例子就无法设计编制程序。下面我就来说一说一个MFC具体是如何被执行的。在阅读本文之前,你要有一定的Windows程序设计基础,知道Windows程序的运行流程,如不清楚,可先看看我写的这篇文章——解说一个简单的Win32程序。 一、单文档项目特点简述以 阅读全文
posted @ 2013-09-14 23:38 DoubleLi 阅读(2870) 评论(0) 推荐(0)

摘要: Q UNICODE字符串如何显示 A 如果程序定义了_UNICODE宏直接用 WCHAR *str=L"unicodestring"; TextOut(0,0,str); 否则就需要转换类型 #include WCHAR *str=L"unicodestring"; bstr_t str1=str; TextOut(0,0,(char*)str1); Q 如何实现ANSI和UNICODE的相互转换 A 将ANSI转换到Unicode (1)通过L这个宏来实现,例如: CLSIDFromProgID( L"MAPI.Folder",&a 阅读全文
posted @ 2013-09-14 22:49 DoubleLi 阅读(756) 评论(0) 推荐(0)

摘要: http://blog.csdn.net/ithzhang/article/details/7916732转载请注明出处!!第二章:字符和字符串处理 使用vc编程时项目--》属性--》常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集。一般情况下说Unicode都是指UTF-16。也就是说每个字符编码为两个字节。65535个字符可以表示世界上大部分的语言。为了软件使国际化大家再编程时应该使用unicode字符集。由于原来学过c语言,不习惯使用Unicode,为了省事而直接在配置属性里调为多字节字符集,这是个不好的习惯。C语言的字符串,以及对这些字符 阅读全文
posted @ 2013-09-14 22:35 DoubleLi 阅读(435) 评论(0) 推荐(0)

2013年9月12日

摘要: 这篇文章是我两年多前写给同事看的,当时不少同事对编码了解甚少,直到现在发现还是很多人对编码了解甚少,所以我就把这篇文章发出来让大家参考一下,希望对一些人有帮助,不过这篇文章是当时花了3个小时左右写的,错误在所难免。字符编码历史计算机,发明在20世纪中期西方国家。计算机内部使用二进制作为表示任何东西的基础,为了能够在计算机中使用整数、浮点数等都要对其进行编码,只是这个编码是在硬件层的(CPU指令),而计算机要与人进行交互就要对人所能识别的文字进行编码,ASCII就在那个时候诞生。ASCII(AmericanStandardCodeforInformationInterchange,美国信息互换标 阅读全文
posted @ 2013-09-12 20:56 DoubleLi 阅读(797) 评论(0) 推荐(1)

摘要: //========================================================================//TITLE:// MultiByteToWideChar和WideCharToMultiByte用法详解//AUTHOR:// norains//DATE:// 第一版:Monday 25-December -2006// 增补版:Wednesday 27-December -2006// 修订版:Wednesday 14-March-2007 (修正之前的错误例子)//Environment:// EVC4.0 + Standard SDK/ 阅读全文
posted @ 2013-09-12 17:16 DoubleLi 阅读(581) 评论(0) 推荐(0)

摘要: 这是两个相关的程序,前者是后者的基础。实际上前一个程序也是在前面博文的基础上做的修改,请参考《在OpenCV中利用鼠标绘制直线》。下面贴出代码。程序之一,在OpenCV中利用鼠标绘制矩形[c-sharp]view plaincopy #include#include#include#pragmacomment(lib,"cv.lib")#pragmacomment(lib,"cxcore.lib")#pragmacomment(lib,"highgui.lib")IplImage*src=0;IplImage*dst=0;voidon 阅读全文
posted @ 2013-09-12 13:42 DoubleLi 阅读(4364) 评论(1) 推荐(0)

2013年9月4日

摘要: 今天刚刚做了一个静态链接到MFC的规则dll,即“Use MFC in a static library“,该dll用来显示一个窗体。然后在一个mfc可执行程序A.exe中调用这个dll文件,可以正常的显示窗体。但后来做了一点小小的改动,即把dll改成动态连接到MFC的dll,即“Use MFC in a shared dll ”,然后在A.exe中调用该dll,结果窗体怎么都不显示。后 共有三种方法: 1. 在dll中自动切换,在dll的显示窗体的接口函数中使用AFX_MANAGE_STATE(AfxGetStaticModuleState()),如下: void ShowDlg(vo... 阅读全文
posted @ 2013-09-04 22:35 DoubleLi 阅读(480) 评论(0) 推荐(0)

摘要: 最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用。 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器:这里说的STL容器,但主要则是指容器,字符串类,但其实可以推广到在STL中提供的任何类型,这里说的公共接口,是指需要暴露给客户的sdk头文件,包括函数签名,或者类成员变量;也可以说,不要在暴露给客户的头文件中包含STL的头文件。原因分析为什么有这个结论,我们可以从几个方面来论述:客户端使用的STL版本可能不同因为STL作为标准库,Framework编译的时候使用的STL,与客户端编译的时候使用的STL,版本是有可能不一样的,比如Fr 阅读全文
posted @ 2013-09-04 10:03 DoubleLi 阅读(877) 评论(0) 推荐(0)

摘要: 今天在写一个函数,需要将map作为一个引用参数传入函数体内部进行赋值,结果编译通过,执行时总是崩溃,在网上找到了一些作者写的blog,详细解释了这种情况发生的原因,特转载在这里,便于自己今后查询。原文1:有一个功能模块, 本来是写在主程序当中. 现在觉得有必要将它写成一个 DLL. 于是开始代码的移植. 费了好大的劲. 终于移植完成, 通过编译了. 这时运行程序, CRASH!调试之, 发现是在一个 map 的赋值出现了问题.看 vc6 自带的 STL 的代码:map 的赋值操作, 也就是其中的树赋值操作._Myt& operator=(const _Myt& _X){ _Tr 阅读全文
posted @ 2013-09-04 09:48 DoubleLi 阅读(3268) 评论(0) 推荐(0)

上一页 1 ··· 400 401 402 403 404 405 406 407 408 ··· 474 下一页