📅  最后修改于: 2023-12-03 14:39:53.309000             🧑  作者: Mango
strtok()
是 C++ 中的一个函数,用于将一个字符串分解为一组字符串。
char* strtok(char* str, const char* delim);
其中,str
是要分解的字符串,delim
则是分隔符字符串。该函数会返回分解出的字符串。
str
不为 NULL,且保存的字符串为 str
。strtok()
函数会搜索 str
的起始位置,并寻找分隔符(delim
)的出现位置。NULL
;否则,将该位置的字符设为 '\0'
,并将该位置之前的子串作为返回值。同时,str
被更新为该位置之后的子串(这意味着调用 strtok()
的程序应该在第一次调用后将 str
设为 NULL
,以便下一次调用可以从上一次调用的结果继续往下处理)。#include <iostream>
#include <cstring>
int main() {
char str[] = "apple,banana,orange,grape";
char* token = std::strtok(str, ",");
while (token) {
std::cout << token << std::endl;
token = std::strtok(NULL, ",");
}
return 0;
}
上面的程序将字符串 "apple,banana,orange,grape" 按逗号分隔成了四个单词,并依次输出了这些单词。注意:因为每次调用 strtok() 都会修改原始字符串,因此需要使用一份保存副本。
strtok()
是 C++ 中将字符串分解为一组字符串的常用函数。str
设为 NULL
,以便下一次调用可以从上一次调用的结果继续往下处理。