我正在尝试将一个字符串分成多个字符串,以制作自定义终端。目前我已经使用strtok分离控制信号,但是我不知道如何分离特定字符的实例。例如:
string input = "false || echo \"hello world\" | grep hello";
当尝试对input
使用strtok并使用|
进行分离时,输出结果为:
false
, echo "hello world"
, grep hello
相反,我希望输出结果为:
false || echo "hello world"
, grep hello
我该如何让strtok区别对待|
和||
而不是认为它们是相同的?
strtok
将第二个参数中的每个字符都视为分隔符。此外,它不会返回空字符串。相关链接1,2。 - Spikatrix