2012-04-28 2 views
0

안녕하세요 현재 프로그램을 실행할 때 명령 줄의 특정 부분을 인쇄하려고합니다. 내가 뭘 달성하려고하는 명령 줄의 'GCC'부분을 별도의 파일로 인쇄 밖으로명령 줄 명령의 일부를 인쇄하는 방법

zcat gcc | sim 

을 다음과 같이 나는 현재 내 프로그램을 실행합니다. 이 작업을 수행 할 수있는 방법이 있습니까? 도움

주셔서 감사합니다 나는 이것이 '심'프로그램은이 표준 입력에서 데이터를 가지고 있음을 알고 C++

+0

메인 함수 인수 [argc, argv'] – vard

+0

에 대한 버디, 주 함수 인수로 전달되지 않았습니다. 이미 시도했습니다. – Sean

+0

죄송합니다. 다시 설명하려고 시도해 볼 수 있습니까? – vard

답변

0

C에없는 얘기를 깜빡 했네요. 표준으로 데이터를 넘겨주는 것이 무엇인지 알지 못합니다. 다른 프로그램이거나 리디렉션 된 입력 또는 장치 일 수 있습니다.

'sim'POV에는 stdin의 데이터 만 있습니다.

경우 당신은 당신이 항상 파이프를 통해 다른 프로세스로부터 데이터를 수신 할 보장, 당신은 '시뮬레이션'과정을 일치하는 프로세스 헤더를 찾기 시작하고 관련 프로세스에서 프로세스 정보를 추출에서 할 수 있습니다. 그러나 나는 이것이 당신이 기꺼이하는 것 이상의 것이라고 생각합니다.

+0

거기에 명령 줄에 입력 한 내용을 읽을 수있는 방법이 있습니다. – Sean

+0

'간단한'방법은 없습니다. 어려운 프로세스가 있습니다. 프로세스 트리를 통해 트롤링을 통해 관련 프로세스가 sim의 표준을 제공하는지 확인한 다음 관련 프로세스의 주장을 연구해야합니다. 솔직히, 당신이 달성하기를 원하는 것; 나는 당신의 "sim"프로그램을 확장하여 어떤 파일을 읽을지를 지정하는 인수를 갖습니다. 그렇게하면 main()의 인수 벡터에서 파일의 이름을 얻을 수 있습니다. – Jonathan

0

zcat (파이프를 통해) 출력을 프로그램에 전달할 때 zcat에 전달 된 인수의 세부 사항을 알지 못합니다. 명시 적으로,하지만 입력 스트림의 일부로서

(echo 'zcat gcc'; zcat gcc) | sim 

를 전달할 수 있지만 해킹입니다. 이 방법으로 만 프로그램을 실행하려는 경우 괜찮을 수 있습니다.

관련 문제