2010-01-18 3 views
1
나는 보통 엑스 코드를 사용하지만이 코드가있는 파일을 여는 문제 가졌다

:유지 Visual Studio에서 콘솔 창을 엽니 다 (C)

#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 출발점/자습서를 가르쳐 줄 사람이 있습니까? 감사.

+1

왜 'EXIT_FAILURE'가 반환됩니까? – SLaks

+0

죄송합니다. 반환 값은 0입니다. – Crystal

답변

2

도 참조 How to keep the console window open in Visual C++?

내 윈도우의 출력을 디버깅하는 동안 볼 수 있도록 내가 일반적으로 메인의 닫는 중괄호에 중단 점을두고 있지만,이 프로그램이없는을 시작하면 비주얼 스튜디오는 콘솔 창을 계속 열어 것
1

프로그램을 실행하는 동안 일시 중지 할 가능성이 없기 때문에 볼 수없는 이유가 있습니다. Visual Studio에서 일반적인 동작은 프로그램이 실행을 완료 한 후 콘솔 창을 닫는 것입니다.

아래쪽 막대는 프로그램이 완료되었으며 반환 값이 무엇인지 (이 경우 1)를 알려줍니다.

내가 또 할 것입니다 것은 바로 위해서 #ifdefs와 프로그램의 종료 시점 이전에 코드를 추가 할 수 있습니다 :

#ifdef VS_DEBUG 
fgetc(STDIN); 
#endif 

지금 당신의 프로그램이 끝나면 일시 정지 한 후 창을 닫습니다 키 누르기를 기다립니다.

프로젝트 설정에서 폐쇄를 막을 수있는 방법이있을 것이라고 확신합니다. 나는 결코 자신을 보지 못했습니다.

1

디버깅 (Ctrl + F5). 또는, @ MadcapLaugher의 fgetc(STDIN); 입력을 요청할 수도 있습니다. 프롬프트를 추가하겠습니다. "Press any key to continue... "

관련 문제