No MFC 编程04 - 关于简单的结果输出

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

No MFC 编程04 - 关于简单的结果输出 temp77(原作)

关键字

No MFC , Win32 , API , 输出

记得以前在学 C 的时候我们可以用 printf 验证程序的输出结果。

在 windows 里面,输出结果我们可以用 MessageBox(),只是,它只处理字符串!

具体的数值怎么办?

其实,你算出来的结果可以用 wsprintf() 来作处理,它是 printf 的近亲!

wsprintf 函数最大的特点是它不会输出到屏幕,它只生成 MessageBox 要用的字符串。

加上 lstrcat (追加字符串) 就更方便了,下面是它们在源码里面的用法:

(假定你已经非常熟悉 printf 用法)

// File Name: WinMain.cpp

//指定下面一句说明该程序与 MFC 无关,可以加快编译速度

#define WIN32_LEAN_AND_MEAN // Say No to MFC !!

#include <windows.h>

char Temp[77] = ""; // 定义一个空字符串

char Result[250] = ""; //

// Name: WinMain()

// ------ ---------- ----------- ---------

int WINAPI WinMain( HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine, int nCmdShow )

{

long x = - 40, y = 25, z = 0 ;

z = x * y; // z 是我们要输出验证的结果

wsprintf( Result , "结果是:%ld \n" , z ); // 最基本的 wsprintf 用法,第一个参数是目标字符串

// 第一次显示结果

MessageBox( NULL, Result, "Sample_Code __CopyRight - `海风 ", MB_OK | MB_TOPMOST );

wsprintf( Temp, " 全式为: %ld × %ld = %ld", x, y, z );

lstrcat( Result , Temp ); // 这是用的是追加字符串的方法

// 第二次显示结果

MessageBox( NULL, Result, "Sample_Code __CopyRight - `海风 ", MB_OK | MB_TOPMOST );

ExitProcess(0);

return NULL;

}

// 关于 wsprintf 详细用法请参看 msdn

一个提示,这个方法我以前经常用在调试的时候察看某个变量的值变化。 不过现在看来实在不推荐。因为 MessageBox 函数其实是一个宏,它会创建一个窗口来显示信息,同时也创建一个消息循环来提取消息,如果你需要仔细研究和处理每一条消息队列里的消息,那样一定会出错!

关于消息队列我以后会详细说明。

有人不理解 为什么要 #define WIN32_LEAN_AND_MEAN 。

答案很简单,因为我要包含尽量精简的内容,包含了这一句编译的时候明显快多了。

不过,你的机器高于 800 兆主频是看不出来的!

这个教程太简单了,是写给入门的人看的 。 `海风 2002年10月11日 pm 2:28

——————————————————————————

附 Temp77 来历:

人生于世上匆匆,不过相当一个临时变量,因为我出生于 77 年,所以取名 Temp77 !

目前喜欢的歌: 周杰伦 - 回到过去

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航