我知道我可以用!example.exe
命令或system(example.exe)
在this question中列出的命令啓動可執行文件。但是,當我想將參數傳遞給C++程序時,我輸入的任何內容都被視爲一個字符串。我怎樣才能使用MATLAB變量?使用MATLAB變量作爲參數從MATLAB腳本啓動C++程序
例如,假設example.exe
是下面的程序:
int main(int argc, char *argv[]){
std::cout << argv[1] << std::endl;
}
當我把它從MATLAB爲!example.exe hi
,我得到的輸出hi
。
但是,如果我的MATLAB腳本實際上是:
hi = 'HELLO!';
!example.exe hi
我的輸出仍然是hi
,但我希望它是HELLO!
。
我該怎麼做?
在此先感謝!
感謝您的回答;這是有效的,但是你可以(或者任何人)對'system()'和'eval()'進行評論嗎?有什麼區別/什麼是首選功能? – marcman
@marcman'eval()'可以運行任何Matlab命令。 'system()'專門用於對OS進行脫殼。在你的情況下,我認爲你使用哪一個並不重要。 – shoelzer
它通常更好地[避免'eval'](http://blogs.mathworks.com/loren/2005/12/28/evading-eval/) –