我想有一个例程,它在字符串上执行以下操作:
这可能吗?
答案 0 :(得分:0)
是的,这是可能的,但有问题:
通用strtok
不是可重入的,即它存储有关它在静态位置执行的操作的信息,这意味着您无法在strtok的主要字符串之间跳转,只有一个分隔符和您提取的子字符串,带有另一个分隔符。您需要完全在主字符串中运行strtok
,然后攻击提取的子字符串。
或者,如果您有一个较新的strtok_r
库例程,_r
表示此例程是可重入的,您可以设置一个实例来处理主字符串并让另一个实例处理提取子串,并在两者之间反弹。 strtok_r
需要另外一个参数,它可以保存它正在执行的操作状态,从而使其正常工作。