主题:  strtok()的使用问题~~高手指教一下~~

伞下居士

职务:普通成员
等级:1
金币:0.0
发贴:132
#12003/3/29 17:46:09
$arr_dictionary=array();
$file_dict_size=filesize("txt\dictionary.txt");
print($file_dict_size);
$file_dict=fopen("txt\dictionary.txt","r");
$dict_buffer=fread($file_dict,$file_dict_size);
fclose($file_dict);
$dict_token=strtok($dict_buffer," ");
print("
".$dict_token."
");
while($dict_token)
{
$dict_key=trim($dict_token);
print($dict_key."
");
$arr_dictionary[$dict_token]=strlen($dict_key);
$dict_token=strtok(" ");
}


上述代码如果dictionary.txt写成下面模式:
a aa aaa b bb bbb c cc ccc fire
则能够正确分解出a aa aaa ....fire

但将dictionary.txt写成如下模式:
a\naa\naaa\nb\nbb\nbbb\nc\ncc\nccc\nfire\n
并分别将调用strtok()时的分隔符改回"\n"
则不能正确分解~~只显示:
a\naa\naaa\nb\nbb\nbbb\nc\ncc\nccc\nfire\n
为什么为这样~~~



helmet

职务:版主
等级:4
金币:10.0
发贴:1559
#22003/3/31 12:21:46
\\n

转义。