strtok()创建的每个标记是否以C中的空字节结束?

时间:2016-09-19 03:08:42

标签: c

当您在C(而不是C ++)中使用strtok()函数时,每个标记是否自动以空字节结束?你究竟要怎么检查?

如果我没记错的话,strlen()函数在计算字符串长度时不包括终止字节。

2 个答案:

答案 0 :(得分:3)

从手册页:

每次调用strtok()都会返回一个指向包含下一个标记的以空字符结尾的字符串的指针。

所以简短的回答是“是”。想一想。如果返回没有nul终止,那么它就不会被标记化,因为你不会只获得令牌,你也会得到令牌和其余的字符串......

答案 1 :(得分:0)

如前所述,答案是yes。请注意strtok修改原始字符串。该函数将使用null character替换令牌字符。看看https://ideone.com/u4W2PC