Re: [問題] C++ 字串切割
是我會用 strstr 來做
假設原始字串是 char src[];
分隔字串是 char *delimiter;
那麼
char *str = strstr(src, delimiter);
if (str) // 有找到分隔字串
{
*str = 0; // 把第一個字串 terminate (會破壞原來的buffer)
str += strlen(delimiter); // 指到第二個字串的頭
// 註: 如果分隔字串是固定的, 應該用變數或常數
// 先取 strlen, 效能會比較好
}
如此
原來的 src 就變成前半段字串 (如果不想破壞原來 src 字串要稍微改一下)
str 會指到後半段字串
※ 引述《mmm321 (家家)》之銘言:
: 請問一下,C++要切割字串
: 我目前是用strtok
: 請問strtok可以把分隔符號設成"字串"嗎?
: 或是有什麼方法可以做字串切割,而分隔符號是用字串的呢?
: 例如:
: 字串: 123aba456
: 將分隔字串設為'ab'
: 切割之後結果為 123 a456
: 謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.80.67.18
→
08/22 09:41, , 1F
08/22 09:41, 1F
討論串 (同標題文章)