如何在Windows Application中应用printf函数?

       下面,我们先看一个最简单的Windows应用程序:

 

#include <windows.h>

int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPSTR lpCmdLine, 
  int nShowCmd 
)
{
	MessageBox(0, "调用了WinMain函数", "测试:", 0);
		
	return 0;
}

      那么,如何在其中用printf函数呢?试看看下面的程序:

 

 

#include <windows.h>
#include <stdio.h>

int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPSTR lpCmdLine, 
  int nShowCmd 
)
{
	printf("调用了WinMain函数\n");
	MessageBox(0, "调用了WinMain函数", "测试:", 0);
		
	return 0;
}

      这个程序达不到效果,为什么呢?因为根本就没有那个黑色的控制台,printf函数怎么能起作用呢?我们先来看看下面这个程序:

 

 

#include <windows.h>
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")

int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPSTR lpCmdLine, 
  int nShowCmd 
)
{	
	return 0;
}

       该程序运行后,能弹出一个黑色的控制台,所以在Windows应用程序中,可以通过下面的方式来使用printf函数:

 

 

#include <windows.h>
#include <stdio.h>
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")

int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPSTR lpCmdLine, 
  int nShowCmd 
)
{
	printf("调用了WinMain函数\n");
	MessageBox(0, "调用了WinMain函数", "测试:", 0);
		
	return 0;
}

        这样,就可以了。为什么要在Windows应用程序中使用printf函数呢?便于理解程序和调试呗!

 

        我们看到,在Windows应用程序中,不能直接使用printf, 一般需要加上#pragma那一句,但是,还有没有别的方法来看程序的结果呢?有的,虽然不能直接用printf, 但是可以用fprintf啊,这样,结果就不在控制台上,而是在文件中,同样可以方便地理解和调试程序。不得不说:在这里,printf比fprintf方便多了,也好多了。

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值