Advertisement

字符串 tok、字符串 tok_r 和字符串 sep 函数的问题

阅读量:

首先分析第一个strtok函数:

尽管strtok存在诸多缺陷,已被Linux kernel弃用,并由strsep取而代之,但深入理解该函数的实现机制对于掌握C语言的实际应用具有重要价值。此外,在一些知名企业的招聘考试中,甚至出现过要求实现strtok函数的题目。

C标准库中的char *strtok(char *str, const char *delim)函数用于将字符串str按照指定的分隔符delim进行分割。

该函数在使用过程中存在许多潜在问题,接下来我们先观察其一种实现方式(来源于apple opensource):

复制代码
 #include <stddef.h>

    
 #include <string.h>
    
  
    
 char *
    
 strtok(s, delim)
    
 	register char *s;
    
 	register const char *delim;
    
 {
    
 	register char *spanp;
    
 	register int c, sc;
    
 	char *tok;

全部评论 (0)

还没有任何评论哟~