strtok_r函数内容
时间: 2023-08-31 12:06:12 浏览: 64
strtok_r 函数是一个用于分割字符串的函数,它是对 strtok 函数的安全版本。strtok_r 函数以参数 str 为输入,以某一个分隔符作为分隔标志,将 str 分割为一个个独立的片段。由于 strtok_r 函数使用了两个参数,而不是全局变量,所以它是线程安全的。
语法:
```
char *strtok_r(char *str, const char *delim, char **saveptr);
```
参数说明:
- str:指向要被分割的字符串。
- delim:指向用于分隔字符串的分隔符字符串。
- saveptr:指向存储内部状态的指针。
返回值:
strtok_r 函数在成功执行后,返回指向当前分割的字符串的指针;如果到达字符串的末尾,则返回空指针。
相关问题
strtok_r函数作用
strtok_r函数用于分割一个字符串为多个子字符串。它的作用是在一个字符串中找到指定的分隔符,然后将字符串分割成若干个子字符串,每个子字符串以'\0'结束。这个函数具有可重入性(reentrant),多个线程可以同时调用它而不会产生冲突。与strtok函数不同的是,strtok_r需要用户提供一个保存上下文的指针,以便在多次调用时能够正确地处理同一字符串。
strtok_s 与strtok_r 函数的区别
strtok_s 和 strtok_r 都是用于分割字符串的函数,但是它们有以下几点区别:
1. strtok_s 是 C11 标准中新增的函数,而 strtok_r 是 POSIX 标准中定义的函数。
2. strtok_s 函数在使用时需要指定一个额外的参数,即指向保存上一次分割位置的指针,而 strtok_r 函数则将这个指针作为函数参数传入。
3. strtok_s 函数是线程安全的,而 strtok_r 函数则不是。
阅读全文