【问题标题】:Output to windows cmd prompt输出到 windows cmd 提示符
【发布时间】:2017-03-01 14:47:53
【问题描述】:

我被告知要制作一个输出 5 行的 exe 文件。我已收到以下指示:

您的程序在运行后不得挂起。我将在命令行中执行它,并期望它在程序完成后完成。

我尝试转到属性 -> 链接器 -> 系统 -> 控制台。当我运行 ctrl-f5 时,它似乎做了他想要的。然后我制作了一个exe,现在它消失了,并且没有打印到控制台。

我正在使用一个简单的 cout 程序,例如:

int main()
{
    cout<<"hello"<<endl;
    return 1;
}

编辑 我正在使用 Visual Studio 2013,并且正在从命令行运行。 请注意,我不是要求窗口保持打开状态,而是要求打印到控制台本身。 我没有按 ctrl-f5,而是转到 cmd.exe,然后转到可执行文件。发布版和调试版都试过了。

【问题讨论】:

  • this has already been answered发帖前请先搜索
  • 然后我制作了一个 exe,现在它消失了如果您从 exporer 运行您的应用程序,这是预期的。 Windows 将在完成后立即关闭应用程序。而是从命令提示符运行它。
  • 但打印到控制台本身。由于您使用的是c++,我假设您使用的是std::cout。本地 c++ 控制台应用程序打印到控制台不需要什么特别的东西。也许你应该发布你的 ~10 行程序。
  • 我正在使用 cout,我认为这更像是一个视觉工作室的问题。
  • 使用空项目导致问题。当我运行它时,使用 #include "stdafx.h" 将输出发送到控制台。

标签: c++ visual-studio


【解决方案1】:

如果我理解了你的问题。尝试关注并将有用的部分添加到您的代码中。不需要的行被注释掉。

// ConsoleApplication1.cpp : Defines the entry point for the console application.

// (Just 2 ways to wait, befoore command-line console vanishes.)

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "It's Foo's Bar!\n";
    system("pause"); //preferred way.
    //cin.get(); //2nd way, not as good.
    return 0;
}

【讨论】:

  • 这不是问题。对于您正在解决的问题,已删除重复项。问题是由于某种原因,即使可执行文件在 cmd.exe 窗口中运行,cout 也不会打印到控制台(因此它不会关闭)。
  • 基于 zissler 一个小时前所写的内容。我尝试了在这里展示的代码片段。我需要#include"stdafx.h" 和#include,以及
  • 你不需要#include"stdafx.h",除非你启用了预编译头文件。你确实需要#include&lt;iostream&gt;
  • 根据 zissler 一个小时前写的内容。这个问题令人困惑..
  • "使用命名空间标准;"使 cout 工作。暂停与否。我在这里安装了 Visual Studio 2012 Ultimate。请至少尝试(再做一次)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-27
  • 1970-01-01
相关资源
最近更新 更多