现在的位置: 首页 > 综合 > 正文

strtok函数的用法示例

2013年01月18日 ⁄ 综合 ⁄ 共 524字 ⁄ 字号 评论关闭

对于strtok这个函数有一点要特别注意一下,那就是它会改变第一个参数的内容。例如以上那段代码,str的内容在每一次strtok之后,其中的分隔符(在这里就是空格,为什么是空格呢?因为seps设为了空格)都会被替换为ASCII码为0的空值。

再来详细看看,str在初始化后在内存中是这样的:41 20 42 20 43 20 44 20 45 20 46 20 47 00

而while循环结束后str是这样的:41 00 42 00 43 00 44 00 45 00 46 00 47 00

因此,此时如果你用printf之类的函数输出str,则结果会是:A。

所以,在使用这个函数时,如果不想参入的第一个参数(即:要被分隔的字符串)的内容被更改,那么就要自己保存一份副本。

 

这个问题曾经使我困惑,在此特别提出,希望能对大家有点用。

抱歉!评论已关闭.