"내부 또는 외부 명령으로 reconized 없다"는 코드입니다 :C++ 시스템 기능이 그래서 여기
#include <iostream>
#include <string>
using namespace std;
int main(){
cout << "type dir" << endl;
string command;
cin >> command; //typed C:\Java
const char* cml = ("cd C:" + command).c_str();
system(cml);
cout << "[System]: Set!";
}
여기 결과입니다
'exe' is not recognized as an internal or external command,
operable program or batch file.
난 그냥 시스템을 입력하면 ("CD C : \ Java "), 그러면 작동합니다. 하지만 위와 같은 시스템 함수에 const char을 전달하면 exe가 다시 변환되지 않는다는 오류가 발생합니다. std::string
가 연결의 결과로서 리턴로부터
const char* cml = ("cd C:" + command).c_str();
cml
변수는 C 스트링 포인터로 초기화되고 :
유일한 차이점은 백 슬래시입니까? –
나는 이것이 창이라고 가정한다. 'system ("echo hello")'를 호출하면 비슷한 오류가 발생합니다. 'echo'는 기본 명령 인터프리터 ('CMD')에 내장되어 있습니다. 별도의 실행 파일이 아니라 커맨드 해석 명령에 의해 실행됩니다. 해당 시스템 호출이 작동하지 않으면 시스템이 잘못 구성되었거나 원하는대로 작동하지 않는 다른 명령 행 처리기를 사용하도록 구성되어 있습니다. – Peter