문제점이 있고 프로그램이 올 바르지 않다는 것을 모른다. 아이디어를 알려주십시오.명령 행 프로그램의 리턴 값
문제 : 명령 줄에서 프로세스 파일 프로그램을 만들고 프로그램 반환은 처리 된 파일 수입니다.
내 프로그램 : main() 함수에서 처리 된 파일 수를 반환합니다.
맞습니까? 올바른 경우 다른 프로그램에서이 값을 얻으려면 어떻게해야합니까?
도와주세요.
문제점이 있고 프로그램이 올 바르지 않다는 것을 모른다. 아이디어를 알려주십시오.명령 행 프로그램의 리턴 값
문제 : 명령 줄에서 프로세스 파일 프로그램을 만들고 프로그램 반환은 처리 된 파일 수입니다.
내 프로그램 : main() 함수에서 처리 된 파일 수를 반환합니다.
맞습니까? 올바른 경우 다른 프로그램에서이 값을 얻으려면 어떻게해야합니까?
도와주세요.
주() (코드) 호출 프로그램에서 다음 기능
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
cout<<"Program will exit";
exit(1); // Returns 1 to the operating system
cout<<"This line is never executed";
}
, 당신이 (예를 들어, 호출자가 배치 파일입니다), 종료 코드를 반환 확인할 수 있습니다 종료를 사용하여 OS에 "종료 코드"를 반환 할 수 있습니다 :
@echo off
call yourapp.exe
echo Exit Code = %ERRORLEVEL%
맞습니다. 프로그램의 결과 코드는 main
함수의 반환 값입니다.
간단히 return을 사용할 수 있습니다. 성공에 대한 공통적 인 반환 값은 0이며 다른 것은 오류라고 간주됩니다.
int main()
{
...
return 0;
}
다른 프로그램에 값을 얻으려면, 당신은 시스템 호출을 사용 할 수 있습니다,
http://en.wikipedia.org/wiki/System_(C_standard_library)
또는 같은 bash는 스크립트 사용 : 편집
, 감사 에반 테란 :
을myProgram;
V=$?;
program1 $V
괜찮습니다. 고마워요. – Ankata
출력을 지정하는 프로그램의 반환 값을 얻는 방법이 아닙니다 ('stdout'에서'$ v'로). 반환 값을 얻으려면 다음을 수행해야합니다 :'myProgram; V = $ ?; program1 $ V' –
죄송합니다, Evan에게 감사드립니다. 아쉽게 원래 게시물을 업데이트하십시오. –
[현재 상태에서 반환 할 수있는 최대 값은 255이므로] 종료 상태로 처리되는 항목의 개수를 반환하는 것은 위험합니다 (http://stackoverflow.co m/questions/808541/any-benefit-in-wexitstatus-macro-in-c-over-division-by-256-by-exit-status). – sarnold