2013-11-05 38 views
0

我正在編寫一個程序,它將在UNIX中重新創建管道。用戶輸入存儲在char數組參數中的命令,並執行它們我需要調用exec,但是我的程序是如何將命令與參數分開的,所以我可以這樣做:白色空間之間的分割字符數組

data in char command: ls -l 
execvp("ls", <arguments>(in this case -l)); 
+1

[如何在C++中分割字符串](http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c)可能會有所幫助 –

+0

getline總是在我的方向拋出錯誤,getline真的是唯一的解決方案嗎? – Scholar

+0

當然不是。只要它們只是空白分隔的字符串,你可以在將C字符串加載到'std :: istringstream'後使用自然的'std :: string'提取操作符,鏈接的文章就有很多這樣的例子,並且我敦促你查看可用的不同選項。如果'std :: getline'在你身上發生錯誤,你可能沒有正確設置流(例如它不應該是二進制模式)。 – WhozCraig

回答