我想將一個字符串分隔成多個字符串來製作一個自定義的終端。到目前爲止,我一直在使用strtok來分離控制信號,但是我不明白如何區分特定的角色實例。例如:在C++中分隔字符串
string input = "false || echo \"hello world\" | grep hello";
當試圖函數strtok這個input
並嘗試使用|
分離輸出將是:
false
,echo "hello world"
,grep hello
相反,我想輸出到成爲:
false || echo "hello world"
,grep hello
我該如何讓strtok以不同的方式對待|
和||
而不是說它們是相同的?
「*我怎麼能有strtok的治療?|和||不同,而不是它說他們是一樣的*」 - 這是因爲'strtok'認爲每個字符在第二個參數是一個分隔符。而且,它不會返回空字符串。相關[1](http://stackoverflow.com/questions/29847915/implementing-strtok-whose-delimiter-has-more-than-one-character),[2](http://stackoverflow.com/questions/ 7079694/is-there-a-way-split-a-string-on-multiple-characters-in-c?lq = 1) –