[問題] strtok分割
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
為何strtok分割後 原字串會不會變
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *str = strdup("scene3ifdfdfs");
char sbuf[30]={'\0'};
strcpy(sbuf,strtok(str,"scene"));
printf("%s\r\n",sbuf);
printf("%s\r\n",str);
return 0;
}
為何str印出來還是跟原本一樣
並沒有被截斷
我知道strtok第二個參數是依各字母比對
只是不知為何這程式跑出來的結果是這樣..
--
5L36f6d6I5207573K657273206f6E62066Y697265O666f78206172U65207375636b2e
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.78.167.138
※ 編輯: sicao 來自: 211.78.167.138 (01/25 15:22)
→
01/25 15:43, , 1F
01/25 15:43, 1F
推
01/25 15:46, , 2F
01/25 15:46, 2F
那為何sbuf出來的是截斷的結果??~"~
而且如果第二個參數改成i
兩個就出現一樣的scene3
證明應該是會影響
※ 編輯: sicao 來自: 211.78.167.138 (01/25 15:59)
推
01/25 16:12, , 3F
01/25 16:12, 3F
→
01/25 16:20, , 4F
01/25 16:20, 4F
→
01/25 16:25, , 5F
01/25 16:25, 5F
→
01/25 16:26, , 6F
01/25 16:26, 6F
→
01/25 16:27, , 7F
01/25 16:27, 7F
→
01/25 16:30, , 8F
01/25 16:30, 8F
→
01/25 16:33, , 9F
01/25 16:33, 9F
→
01/25 16:38, , 10F
01/25 16:38, 10F
→
01/25 16:39, , 11F
01/25 16:39, 11F
推
01/25 21:45, , 12F
01/25 21:45, 12F
推
01/26 01:40, , 13F
01/26 01:40, 13F
→
01/26 01:40, , 14F
01/26 01:40, 14F