【发布时间】:2011-11-16 14:38:18
【问题描述】:
我试图在 C++ 中使用函数 strtok() 获取令牌。当您仅使用 1 个分隔符时非常简单,例如:
token = strtok(auxiliar,"[,]");。每当函数找到[、,或]时,这将切断auxiliar。
我想要的是获得带有一系列分隔符的标记,例如:[,]
使用strtok 函数可以做到这一点吗?我找不到路。
谢谢!
【问题讨论】:
-
您的意思是要传入一个分隔符数组,并在其中任何一个上标记
strtok? -
实际上,不,您的意思似乎相反。是否希望
strtok将[,]视为单个分隔符? -
不要在 C++ 中使用 C 字符串和
strtok,因为它有太多的陷阱并且具有破坏性。使用string和find。 -
如果你想要 strtok 的可重入版本,可以使用 strtok_r。