当我尝试用分隔符分割字符串时,该strtok函数不考虑空字符串,我想知道如何修复它。例如,就我而言,我必须拆分字符串,例如"a-b-c". 当我尝试拆分字符串时"a--b-c",结果应该是,,,, "a"(注意空字符串)。但如果我在调用函数后打印每个元素的结果,它只考虑、和。为什么会发生这种情况?我该如何解决?"""b""c""a""b""c"
char str[] = "a--b-c";
char *delim = "-";
char *token;
token = strtok(str, delim);
while (token != NULL) {
printf("element is: =====%s===== \n ", token);
token = strtok(NULL, delim);
}
Run Code Online (Sandbox Code Playgroud)
打印的元素应该是 4 ( a, 空字符串 , b, c) 但使用此代码,它只有 3 ( a, b, c)。