Base64 编码 解码器 V1.6版

29
2012
02

COM、ATL的一些基本概念

Com、ATL编程过程中经常遇到很多概念,初学者经常会被这些概念弄的晕头转向,我在学习过程中把一些主要的名词解释记录如下: 活动模板库 (ATL) 是一套基于模板的 C++ 类,使您可以创建小型、快速的组件对象模型 (COM) 对象。它对主要的 COM 功能具有特殊支持,这些功能包括常用实现、双重接口、标准 COM 枚举数接口、连接点、分开的接口和 ActiveX 控件。果需要做大量的 ATL
27
2012
02

__stdcall和cdecl调用约定

C/C++编程时,常会看到调用约定的修饰,主要有__stdcall和__cdecl两种: __stdcall或者Pascal调用约定 __stdcall或者Pascal也被称做是标准的调用约定,即这些函数将在返回到调用者之间将参数从栈中删除。所有的Win32 API函数,除了那些带有变参的外,使用的都是这种调用方式。Microsoft平台上的COM接口所提供的所有函数使用的均是标准的调用约定
27
2012
02

将C++视为一个组合语言

C++复杂的语法规则常常让初学者困惑不已,从c++的发展史来看,c++刚出来时,就是C with class,为是兼容C语言的语法特征,所以会有一些在现在看来很奇怪的语言。 在Effective C++第三版的第一条里,Scott Meyers建议我们把C++理解为一个联邦语言,在他的某个次语言中,各种守则都相对简单,直观易懂,并且容易记住。 为了理解C++,我们将c++理解为以下四个语
12
2011
08

VC 界面库皮肤库

由于一些项目的需要,最近了解一下VC下的界面库,界面的开发很废精力,但和业务功能无关,使用成熟的界面库可以减少开发量, CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了) http://www.codejock.com/ BCGControlBar(收费,mfc扩展开发包,功能很强大) http://www.bcgsoft.com SkinMagic(收费,看起来像Office) http://appspeed.com/html/download.html

12
2011
07

回车与换行的区别,为什么要“\r\n”

现在我们在写字符串处理的程序时常会接触到回车(Carriage Return)和换行(Line Feed)两个概念,一般都是按经验需要换行时直接输出了“\r\n”,为什么要连续输出两个字符呢?

在计算机还没有出现之前,有一种叫做电传打字机的设备,就像现在影视剧里看到的,前面一张纸,下面一堆按键的那个设备。他每秒钟可以打10个字符。但是它有一个问题,就是打完一行,换到下一行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;yangfei.org另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

Unix系统里,每行结尾只有“<换行>”,即"\n";Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”,即"\n";。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

c语言编程时(windows系统)

\r 就是return 回到 本行 行首这就会把这一行以前的输出 覆盖掉。

如:

int main ()
{
cout << "yangfei" << "\r" << "org" ;
}
最后只显示 org而 yangfei被覆盖了

\n 是回车+换行 把光标 先移到 行首然后换到下一行 也就是 下一行的行首拉
int main()
{
cout << "yangfei" << "\n" << "org" ;
}
输出的就是
yangfei
org

07
2011
07

如何调整默认office版本

有的用户在一台电脑上同时安装了Excel 2003与2007,双击打开Excel文件时总是启动2007来打开,而我工作时需要使用自己更加熟悉2003来工作。如何更改默认打开方式为2003呢? 方法一点击“开始-运行”,输入Excel 2003的安装路径,例如(含开始的引号)
04
2011
07

解决linux firefox下flash乱码问题

在有的Linux发行版本下用 Firefox浏览有Flash的网页时,可能会碰到有些文字不能正常显示,有些还可能显示乱码,比如Google 的在线音乐播放音乐时, 完全显示不了汉字,主要是因为Flash选用的字体无法正常使用。

解决方法很简单,具体操作如下:
22
2011
06

VS2008非托管c++访问webservice服务

在Visual Studio 2008以及以后版本中,微软停止了非托管C++的直接WebService引用。不过ATL Server代码已经托管到开源网站上,我们可以找到ATL Server的源代码,编译出Sproxy.exe,这个工具可以根据wsdl文件来生成非托管的代理类。这个代理类还需要配合一些头文件才能一起使用,这个相关的头文件都包含在ATL Server 的源代码内。
02
2011
06

数据类型转换:static_cast,const_cast等用法

* C++提供了四种新的类型强制: static_cast const_cast reinterpret_cast dynamic_cast
02
2011
06

VC++在各种字符串类型之间进行转换

本主题演示如何将各种 Visual C++ 字符串类型转换为其他字符串。可以转换的字符串类型包括 char *、wchar_t*、_bstr_t、CComBST