作者uefang (云飞(想出去玩))
看板C_and_CPP
标题Re: [问题] 请问strtok是读到最後然後回传NULL吗
时间Sat Apr 4 16:23:41 2009
※ 引述《whitefur (白毛)》之铭言:
: 例:
: char s[]="i am fine";
: char *token;
: token=strtok(s," "); //这里会将s字串该成 i\0am fine 且token指向s[0]
//Note:这时候的s字串以和还没经过strtok的s字串不同了
//因为经过strtok後printf("s[]=%s",s) => always show "i"
//而还没经过strtok的printf("s[]=%s",s) =>"i am fine"
: while(token)
: token=strtok(NULL," ");
: //第一次回圈 s字串变成 i\0am\0fine 且token指向s[2]
: 问题:
: 那第二次回圈,从s[5](也就是f)开始读
: 一直到最後s[9] 字串结束都没有再遇到空白
: 那strtok这时就是回传NULL吗?
其实NULL就是'\0'
简而言之s[]=>'i\0 am\0 fine\0'
以上纯属个人认为
假如有错欢迎指正 ^^"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.110.129.88
※ 编辑: uefang 来自: 123.110.129.88 (04/04 16:24)