나는 내 자신의 명령 셸을 만드는 작업을하고 있습니다. 필자는 입력 문자열을 여러 문자열로 올바르게 토큰 화했습니다. 나는이 문자열을 execvp와 함께 사용하는 방법을 알아 내려고하고있다.문자열 벡터가있는 경우 명령을 실행하기 위해 execvp와 함께 문자열을 사용할 수 있습니까?
vector<string> s;
s[0] = "ls";
s[1] = "-a";
s[2] = "-l";
내가 명령 ls -a -l
사용 execvp는을 실행할 수 있도록하려면 :
아이디어는이 같은 벡터가있는 경우이다. 나는 execvp
가 const char *
에 소요 생각했기 때문에
const char *
내 문자열을 변환하는
c_str()
를 사용하여 생각하지만 나를 위해 작동하지 않았다.
어떻게해야합니까?
귀하의 도움과 의견에 감사드립니다. 정말 감사합니다.
'푸시 백'요소가 필요합니다. 현재 코드에는 UB가 있습니다. – Mahesh
어쨌든 임시 '벡터 '를 쓰지 않는 이유는 무엇입니까? –
@mnunberg 그게 우울 거니? –