2012-06-06 4 views
1

내 프로그램을 위해서는 cmd.exe에 표시된 모든 정보를 가져 와서 파일에 저장해야합니다. 그래서 그것에 대해 나는 다음과 같은 코드stdout 대신> 사용

freopen ("text.txt","w",stdout); 

을 사용 나는 내가 내가 diffrent 클래스에서 그렇게해야한다는 말을 들었다 그러나 MAIN.CPP

에 넣어했고 나는를 사용할 수 있음 > 기호를 직접 입력하십시오.

내가 어떻게 할 수 있는지 말해 줄래?

내가 위대한 예를 들어 줄 수 있다면.

+5

정보를 표준 출력에 인쇄하고 프로그램의 호출시 셸의 리디렉션 연산자'> '를 사용하여 표준 출력을 원하는 파일로 리디렉션한다고 가정 해보십시오. –

답변

3

나는 당신이 파이프에 대해 들었다고 생각합니다. 당신이 쉘에서는 같은 입력 할 수 있습니다

somecommand > text.txt 

을 그리고 text.txt으로 somecommand의 출력을 기록합니다.

+0

네,하지만 셸이 아닌 C++ 프로그램에서해야만합니다. 어떻게 해야할지 모르겠습니다. – Samsara

+0

">"문자에는 I/O 관련 의미가 C++에서 없습니다 ... 운영 체제에서 익숙합니다. 쉘, 그리고 당신은 명시 적으로 (단 하나 절름발이) "cmd.exe"에서 명시 적으로 언급. NtscCobalt가 제공하는 링크를 읽은 다음이를 수행하는 방법을 말하는 사람과 함께 앉아서 이해하는 것이 좋습니다. –

3
std::cout << "Output sentence"; // prints Output sentence on screen 
std::cout << 120;    // prints number 120 on screen 
std::cout << x;     // prints the content of x on screen 

당신은 그 다음 사용자가 대신 아래 구문을 사용하여 파일에 (일반적으로 콘솔로 이동합니다) 당신의 출력을 리디렉션 할 수 있습니다를 사용하는 경우. 당신이 표준을 사용하는 경우 사용자가 입력 한 것처럼

yourapplication.exe > "output.txt" 

:: < < 연산자 CIN 당신은 또한 < "input.txt" input.txt를 텍스트를 입력 할 수 있습니다.

http://www.cplusplus.com/doc/tutorial/basic_io/은 입력 스트림과 출력 스트림을 상당히 잘 설명합니다.

http://technet.microsoft.com/en-us/library/bb490982.aspx은 콘솔 재 지정을 설명합니다.