VS2010将标准输出信息输出到output中

在微软的Visual Studio开发环境(如VS2010)下开发C++的Console Application的项目,标准输出信息(如std::cout、printf等)都是输出到控制台的(也就是传说中的黑窗)。有很多人是不喜欢这个黑窗口的,特别是习惯了像Eclipse这样的IDE的同志,如从Java转到C++的程序员,总想把输出信息集成到VS中。其实是有一种方式可以实现这种需求的,也就是把输出信息打印到在VS的output中,下面以VS2010为例进行说明。

选择你的项目,右键property->Configuration Properties->Build Events->Post-Build Event,在右方窗口的Command Line栏中输入你编译好的exe文件的路径。如我的C++Test工程在E:\C++Workspace\VS2010\C++Test下,则在Command Line栏中输入E:\C++Workspace\VS2010\C++Test\Debug\C++Test.exe。当然你的build的输出路径有可能会改变,为避免Build输出路径改变后重新更改Command Line的值,可以输入$(OutDir)$(ProjectName).exe,和E:\C++Workspace\VS2010\C++Test\Debug\C++Test.exe的作用相同。

这样build结束后自动执行该exe程序,将程序输出信息打印到VS的output窗口中,不需要再按F5执行run。

如我的程序:

#include <iostream>
using namespace std;

int main()
{
	cout << "Hello World!" << endl;
	printf("Print Hello World!");
	return 0;
}

output窗口的输出信息:

1>------ Build started: Project: C++Test, Configuration: Debug Win32 ------

1>Build started 2015/3/7 18:35:27.

1>InitializeBuildStatus:

1>  Creating "Debug\C++Test.unsuccessfulbuild" because "AlwaysCreate" was specified.

1>ClCompile:

1>  All outputs are up-to-date.

1>  All outputs are up-to-date.

1>ManifestResourceCompile:

1>  All outputs are up-to-date.

1>Manifest:

1>  All outputs are up-to-date.

1>LinkEmbedManifest:

1>  All outputs are up-to-date.

1>  C++Test.vcxproj -> E:\C++Workspace\VS2010\C++Test\Debug\C++Test.exe

1>CopyFilesToOutputDirectory:

1>  Copying file from "Debug\C++Test.pdb" to "E:\C++Workspace\VS2010\C++Test\Debug\C++Test.pdb".

1>PostBuildEvent:

1>  Hello World!

1>  Print Hello World!

1>FinalizeBuildStatus:

1>  Deleting file "Debug\C++Test.unsuccessfulbuild".

1>  Touching "Debug\C++Test.lastbuildstate".

1>

1>Build succeeded.

1>

1>Time Elapsed 00:00:01.42

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

时间: 2024-08-26 09:24:39

VS2010将标准输出信息输出到output中的相关文章

将Linux下编译的warning警告信息输出到文件中[整理笔记]

Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义: 数字 含义 标准叫法0 标准输入  stdin = standard input1 标准输出  stdout = standard output2 标准错误输出  stderr = standard error 而系统默认的stdin,stdout,stderr,都是屏幕,所以,当你执行命令,比如make,后,所输出的信息,都是可以在屏幕上看到的.所以,想要将对应

Qt on Android:将Qt调试信息输出到logcat中

版权全部 foruok .如需转载敬请注明出处(http://blog.csdn.net/foruok). 假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到程序输出的日志信息. Android SDK 中有 adb 工具,当你连接了目标设备,能够使用 adb logcat 查看 Android 设备上应用输出的日志. 先介绍一下 adb 工具的使用.一般我经常使用下列命令: adb logcat ,查看手机或其它设备上输出的全部日志 adb logca

Servlet作业2-将表单提交的商品信息输出到页面中

1,表单页面 shangpin.html 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>商品信息</title> 6 </head> 7 <body> 8 9 商品信息<br> 10 11 <form action="Shp" method="post

MFC工程加入控制台调试信息输出

MFC工程加入控制台调试信息输出 在MFC程序中,可以使用TRACE宏或者OutPutDebugString()函数输出调试信息,TRACE宏可以在调试时像Output窗口输出调试信息,OutPutDebugString()函数的输出则可以用DebugView捕获(DebugView也可以捕获TRACE宏的输出,其官网在 这里 ,具体使用请参考官网的说明),另外也可以通过AfxMessageBox()或者MessageBox()弹窗输出,但毕竟太多繁琐,每弹出一个窗口便要确认一次.引入日志库也是

异常堆栈信息输出工具类

public class MyExceptionUtils { /** * 输入异常的堆栈信息 * @param aThrowable * @return */ public static String getStackTrace(Throwable e) { final Writer result = new StringWriter(); final PrintWriter printWriter = new PrintWriter(result); e.printStackTrace(pr

Linux bash 中,如何将正常信息和错误信息输出到文件

问题描述: $ command 2>> error $ command 1>> output 是否有方法,在bash同一行,实现输出stderr到error文件,输出stdout到output文件? 也就是,如何在bash的同一行,实现stderr和stdout重定向到不同的文件? 解决方法: 将它们放入同一行,command 2>> error 1>> output 然而,注意 >> 是如果文件有数据,会在文件尾部添加内容.而 > 将会重

Vs2013在Linux开发中的应用(23):信息输出

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 有时候,我们需要往VS的信息输出窗口输出一些调试信息,此时只要向SDM发送通知: Send(new AD7DebugOutputStringEvent2(e.Output), AD7DebugOutputStringEvent2.IID, thread); 利用此功能,很容易就可以把gdb的输出导向VS的信息输出窗口: ??

给定长度为 n 的整数数组 nums,其中 n &gt; 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。-----力扣

给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积. 示例: 输入: [1,2,3,4] 输出: [24,12,8,6] 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题. Java实现: class Solution { public int[] productExceptSelf(int[] nums) { int [] output = new int[num

从CI源码学习PHP高级开发技能——CodeIgniter框架源码深度剖析(4):输出类Output.php

Output类参考说明(摘抄CI手册): 在一般情况下,你可能根本就不会注意到输出类,因为它无需你的干涉, 对你来说完全是透明的.例如,当你使用 加载器 加载一个视图文件时,它会自动传入到输出类,并在系统执行的最后由 CodeIgniter 自动调用.尽管如此,在你需要时,你还是可以对输出进行手工处理. 在说Output类前先说几个知识点和编程技巧: $_SERVER['HTTP_ACCEPT_ENCODING'] .对应请求头是Accept-Encoding:"gzip, deflate&qu