2015-01-25 3 views
0

무선 네트워크에 연결하기 위해 QProcess를 사용하고 있습니다. 그러나 6 개의 인수를 가진 코드를 시도하면 실패하고 출력이 반환되지 않습니다.QProcess 6 인수가 작동하지 않습니다.

내가 터미널에서 명령을 실행하면, 그것은 상자 밖으로 작동합니다 nmcli dev에 와이파이 콘 암호 "myssidpassword"내가 뭘 잘못

QStringList arguments{"dev", "wifi", "con", "\"myssid\"", "password", "\"myssidpassword\""};QProcess *process = new QProcess; 
process->start("nmcli", arguments); 
process->waitForFinished(); 
return process->readAll(); 

을 "myssid"? 감사.

PD : 2 개의 인수로 다른 nmcli를 실행하면 작동합니다.

+0

왜 ssid와 암호를 큰 따옴표로 묶으시겠습니까? – peppe

+0

왜냐하면 일부 wifi 네트워크는 ssid에 공백이있어서 그 중 하나에 연결해야한다면 따옴표를 넣지 않으면 ssid의 두 번째 단어가 nmcli 매개 변수로 해석됩니다. – walolinux

+0

셸 따옴표는 절대적으로 유효하지만 C++입니다! – peppe

답변

0

OK, qprocess 표준 오류를 시작했다, 그래서 내가 가진 문자열을 캡처해야합니다

qDebug() < < "의 standart 오류 :") (< < 프로세스 -> readAllStandardError을;