2013-05-29 3 views
0

에서 사용되고있는 abcd-1234이라는 ID 만 얻으려면 vol 명령의 출력을 구문 분석해야합니다.Qt에서 출력 분석하기

QProcess process; 
process.start("cmd /c vol C:"); 
process.waitForFinished(-1); 
QByteArray out = process.readAllStandardOutput(); 
qDebug() << out; 

도움말 나, 덕분에 ...

+0

당신은 유 PLZ 내 위의 코드에서이 문제를 추가 할 수 있습니다, 많이 힘들어 작은 –

답변

1

당신은 ID를 찾을 수 QRegExp (http://qt-project.org/doc/qt-4.8/qregexp.html)와 정규 표현식을 사용할 수 있습니다 여기에 볼륨 일련 번호를 얻기 위해 내 코드입니다. vol 명령은 항상 동일한 메시지를 반환합니다. 그래서, 당신은 라인으로 결과 행을 읽고 일치하는 라인을 검색 할 수 있습니다

QRegExp rx("The Volume Serial Number is (.+)\\."); // Match the line with the ID and store it. 
if (rx.exactMatch(line) { 
    QString id = rx.capturedTexts(1); // The first elt is the entire matching text. 
    qDebug() << id; 
} 
+0

감사를 시도해 볼 수도를? – highlander141