2010-04-01 1 views
3

Visual Studio 2005에서/SUBSYSTEM : Windows를 사용하도록 설정된 혼합 모드 C++ - CLI 프로그램이 있습니다. 일반적으로 말하자면 바로 가기 또는 파일 유형에 등록 된 그래픽 응용 프로그램입니다./SUBSYSTEM : Windows 프로그램이 명령 줄에 쓰지 않습니다.

그러나 사용자가 인수를 사용하여 명령 줄에서 실행하려는 경우는 드뭅니다. 인수에 명령 줄에서 실행되는 프로그램에 대한 응답으로 콘솔에 쓰는 것에 관해서는 아무런 의미가 없는데, 어떤 경우에는 Console::WriteLine이 나타나지 않습니다.

내가 뭘 잘못하고 있니?

답변

3

이건 짜증나. 나는 동의한다. 당신은 잘못을 저 지르지 않고 있습니다. Windows가 설정된 방식의 단점입니다.

적어도 어떤 경우에는 http://blogs.msdn.com/junfeng/archive/2004/02/06/68531.aspx을 참조하여이를 해결할 수 있습니다. 나는 실제로 이러한 방법을 사용하는 다른 사람을 찾지 못했습니다.

대부분의 사람들은 일괄 처리 사용자 ("myapp.exe")와 시작 메뉴 ("myappw.exe")에서 실행될 때 각각 하나씩 다른 이름으로 실행 파일의 두 가지 버전을 만듭니다.

자세한 내용은 How to output to the console in C++/Windows의 제안 중 일부가 유용 할 수 있습니다.

1

그것은 오래된 문제입니다 - 당신은 또한 콘솔에

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE /*hPrevInst*/, LPSTR cmd_line, int showmode) 
{ 
    AllocConsole(); //create a console 
    ifstream conin("con"); // not sure if this should be "con:" ? 
    ofstream conout("con"); 
    cout.rdbuf(conout.rdbuf()); 
    cerr.rdbuf(conout.rdbuf());  
    cin.rdbuf(conin.rdbuf()); 


    FreeConsole(); 
    return 0; 
} 

편집 스트림을 다시 열 수 있습니다

솔루션을 http://www.codeproject.com/KB/cpp/EditBin.aspx를 참조하십시오 미안이 순수 C는 ++이다, C++/CLI

모르는