Visual Studio C++ 执行 cmd.exe 而不是我的程序 [关闭]

Posted

技术标签:

【中文标题】Visual Studio C++ 执行 cmd.exe 而不是我的程序 [关闭]【英文标题】:Visual Studio C++ executes cmd.exe instead of my program [closed] 【发布时间】:2015-03-04 14:13:17 【问题描述】:

我的 main() 代码非常简单。它实际上只是打印出“Whatevs”。它是一个包含大量 CPP 和 H 文件的大型项目的一部分,但我只需要我的 main() 来实际先做一些事情:/ 当我运行它时,它会运行 C:/windows/system32/cmd.exe。它应该运行的是 MyProgram.exe。它所说的只是“按任意键继续”,就像我的程序从未运行过一样——它没有打印出我所说的内容。 Visual Studio C++ 中的什么内部问题会导致这样的错误?

我的主要():

#include <string.h>
#include <iostream>
using namespace std;
#include "EmployeeRecord.h"
#include "CustomerList.h"
#include "Store.h"
int main(void)

    cout<<"Whatevs";
    system("pause");
    return 0;

我还有其他源文件,但我猜它们不是问题

【问题讨论】:

向我们展示代码。在“A Visual Studio internal problem”之前发生这种情况可能有很多原因.. 不幸的是,我最喜欢的 C++ 常见问题解答项目(关于如何发布有关不起作用的代码的问题)在将常见问题解答迁移到 ISO CPP 时丢失了。但本质上,请提供代码,我们不是心灵感应者!以及所有其他可能相关的内容,例如您的 Visual Studio 项目设置。 (注意项目文件是一个简单的文本文件)。 @Cheersandhth.-Alf, Here you go @chris:谢谢,我没想到。 :) @JBL,代码已经贴出来了 【参考方案1】:

“Visual Studio C++ 中的什么内部问题会导致这样的错误?”

Visual Studio 没有内部问题。您只是错过了刷新输出缓冲区,这就是您看不到输出出现的原因。

随便写一个

cout << "Whatevs";
cout.flush();

cout << "Whatevs" << endl; // endl flushes implicitely

查看终端中出现的输出。

【讨论】:

以上是关于Visual Studio C++ 执行 cmd.exe 而不是我的程序 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2008 速成版中的 C++ 第一个程序

计算 C++ 中函数的执行时间(Visual Studio 2010)

C++ 可执行文件仅从 Visual Studio 启动

visual studio 2010 一个解决方案里有多个c++源文件 怎么只执行其中一个?

在 Visual Studio 2017 中使用断点时随机 C++ 执行流程?

在 Visual Studio 中调试由可执行文件调用的 C++ 文件