-1
我有使用wichI使用getOpenFileName像一個程序:如何使用QString和「」
QString fileName = QFileDialog::getOpenFileName(this,
tr("Select video"), "d:\\", tr("Video files (*.avi)"));
strcpy(thePath, fileName.toStdString().c_str()); // static char thePath[66];
scilab.setPathloc(thePath);
scilab
是將作業發送到計劃SCILAB.it一個類的對象一樣工作:
char std_dev[99];
char direc[60];
sprintf(direc,"direc=\'d:/BMDvideos/%s/%s/\'",getSessionName(),getVideoname());
sprintf(std_dev,"fn=\'d:/BMDvideos/%s/%s/%s.avi\'",
getSessionName(),getVideoname(),getVideoname());
SendScilabJob(direc);
SendScilabJob(std_dev);
//SendScilabJob("fn=\'d:/BMDvideos/Aufnahme0.avi\'");
SendScilabJob("exec('U:/scilab/done/std_dev.sce');");
好這個工作正常,但是當我使用QString
,如:
char text1 [70] ;
sprintf(text1,"disp(fn=\'%s\');",getPathloc());
SendScilabJob("exec('U:/scilab/done/std_dev.sce');");
沒有任何作品,我認爲這是因爲我必須在sprintf
中使用//
。任何想法如何解決這個問題?
在_String_字面你沒有逃跑的單引號字符'''。 – 2013-03-01 12:55:12
第二個例子中的text1會發生什麼情況,並且有足夠的70個字符?爲什麼不使用std :: string或向量而不是char數組? SendScilabJob如何工作 - 這是你自己使用QProcess的代碼嗎? –
Pete
2013-03-01 12:59:40
@Pete我已經想這樣做,但SCILAjobs只拿的char [],是我的代碼使用QProcess中,但爲什麼它在第一部分的工作'? – Engine 2013-03-01 13:03:19