• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

 

   记得以前在学 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 !

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

 


文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网