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

原创 2002年10月14日 09:36:00
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 !

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

<MFC笔记>多线程编程简单实例

在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数 HANDLE CreateThread( LPSECURITY_ATTRIB...
  • EbowTang
  • EbowTang
  • 2014年06月10日 20:51
  • 1542

MFC 网络编程

一、IP地址 IP地址用于表示网络上的各个不同主机的节点,就像家庭住址一样,邮递员通过家庭住址以决定将该信件投往何处。IP地址是一个32位的二进制数。 IP地址包含两部分:网络号和主机号,又称为前...
  • yyw610879290
  • yyw610879290
  • 2014年07月18日 19:36
  • 1808

MFC入门操作 --- 简易计算器制作

MFC入门操作之制作简易计算器
  • breeze_blows
  • breeze_blows
  • 2017年06月28日 22:30
  • 515

编程题#10:输出指定结果二(C++程序设计第10周)

描述通过填空使得程序输出的结果符合下面的要求。#include #include using namespace std; // 在此处补充你的代码 int A::count = 0; void ...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2016年02月16日 22:01
  • 1751

MFC实现一个简单的加法器

在MFC中实现一个简单的加法器 工具:Visual Studio 2013 步骤: 1、打开VS2013,选择文件->新建项目->项目,选择MFC程序,项目名称为Add,点击确定,MFC应用程序...
  • u014164050
  • u014164050
  • 2014年12月08日 19:04
  • 1257

MFC中使用printf输出调试信息

MFC程序中要输出调试信息基本只能用edit空间显示内容。
  • u012564690
  • u012564690
  • 2014年05月10日 03:49
  • 3707

VC中调用并获取外部程序输出

VC上调用外部程序的方法大家应该很熟悉,比如ShellExecute,CreateProcess。 例子: system("D://adb.exe devices >c://temp.txt");...
  • zwlhoho
  • zwlhoho
  • 2015年11月13日 15:47
  • 1590

第16周-模拟计算器

 问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:calculator.cpp *作 ...
  • MIKASA3
  • MIKASA3
  • 2014年12月12日 12:20
  • 683

MFC 利用控制台输出调试信息(转)

转载的,出处不知道了。sorry 方法一: WINDOWS为你提供了一系列的API来完成这个功能,例如:ReadConsole,WriteConsole等,具体参见MSDN。 1。...
  • liuxizhen2009
  • liuxizhen2009
  • 2013年01月30日 22:39
  • 13637

C/C++拾遗(十九):MFC - 一个简单的窗口程序

在复习完C/C++的基础之后,今天开始学习MFC,自己使用的资料是孙鑫老师的《VC++深入精解》作为主要的学习脉络,而侯老师的《深入浅出MFC》则作为补充。今天是第一章基础,简要介绍windows编程...
  • a1232345
  • a1232345
  • 2015年07月13日 16:17
  • 2012
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:No MFC 编程04 - 关于简单的结果输出
举报原因:
原因补充:

(最多只允许输入30个字)