在Visual Studio中保持控制台窗口打开(C)

时间:2010-01-18 03:13:39

标签: visual-studio

我通常使用XCode,但在使用此代码打开文件时出现问题:

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

int main(void )
{
   printf("Hello");
   FILE *filePtr;

   filePtr = fopen( "test.txt", "r" );
   if (filePtr == NULL)
   {
      fprintf(stderr, "Can't open \"test\"\n");
      exit(EXIT_FAILURE);
   }
   else
   {
      int x;

      printf("File open successful\n");
      /* read one character at a time until EOF is reached */
      while ((x = fgetc(filePtr)) != EOF)
      {
         //printf("%c", x);
         fprintf(stderr, "%x\n",x);
      }
   }
   fclose(filePtr);
   system("pause");

   return EXIT_FAILURE;
}

控制台窗口关闭得如此之快,在VS的底栏显示:“'C_test.exe':已加载'C:\ WINDOWS \ WinSxS \ x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f \ msvcr90d.dll “ 程序'[1116] C_test.exe:Native'已退出,代码为1(0x1)。“ 这是什么意思?

另外,有人能指出我的VS起点/教程很好吗?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您无法看到它的原因是您的程序在执行期间无法暂停。在Visual Studio中,典型的行为是在程序完成执行的第二步时关闭控制台窗口。

底栏告诉您程序已完成以及返回值是什么(在这种情况下为1)。

我还要做的是使用#ifdefs:

在程序的退出点之前添加代码
#ifdef VS_DEBUG
fgetc(STDIN);
#endif

现在你的程序会在完成后暂停,等待按键然后关闭窗口。

我确信项目设置中还有一种方法可以阻止关闭,我从来没有看过自己。

答案 2 :(得分:1)

我通常在main的右括号上留一个断点,以便在调试时看到我的窗口输出,但是如果没有调试(Ctrl + F5)启动程序,Visual Studio将保持控制台窗口打开。或者,您可以直接询问输入,@ MadcapLaugher的fgetc(STDIN);可能是您最好的选择 - 尽管我会添加提示:"Press any key to continue... "

答案 3 :(得分:0)

 #include<stdio.h>
 int main() 
{

    printf("Hello World from visual Studio \n");

    //to prevent console window temination 
    system("pause");

    return 0;
}