2012-12-21 10 views
1

문자열을 system()을 통해 실행할 수있는 문자열로 변환하려면 어떻게해야합니까?system()을 통해 string 명령을 실행하려고 시도했습니다

나는이

std::string out = "some command to run" + some_string_variable; 
system(out); 

이 컴파일되지 않습니다 있고 그것은 나에게 변환 오류

*

는하지만 문자를 시도하는 경우에서 const 표준 : : 문자열에서 아무 적합한 변환 기능을주고 달리기

system("pause"); 

저것은 작동한다

,
+2

문자열 리터럴 'CONST 숯() [N]'이 아닌 ' std :: string'. 그래서 두 번째 작품입니다. – chris

답변

7

입력 인자로 const char* 소요되며,

system(out.c_str()); 

시스템 기능은 다음과 같이 선언보십시오 유형이 ++ C에서

int system(const char *command); 
+0

+1 정말 고마워요. 나는 그것을 char 배열로 변환하려고 모든 종류의 것들을 시도했다. – nkuebelbeck

+0

@nekuebelbeck,'(const char *) out '을 포함해서 말하지 말아주세요. 그러지 마. – chris

관련 문제