系列文章目录
文章目录
- 前言
- 一、字符串分割函数
- 1.strtok()
- 2.
- 总结
前言
<stdlib.h> 是C语言中的一个头文件,提供了一系列用于操作字符串的函数。例如查找子字符串、拼接字符串、比较字符串等等。为了方便开发者进行字符串操作,C语言提供了一个标准库函数string.h。这些函数能够帮助开发者更加方便地进行字符串处理,提高代码的效率和可读性。
一、字符串分割函数
1.strtok()
函数原型:char *strtok(char *str, const char *delim)
函数功能:分解字符串 str 为一组字符串,delim 为分隔符
函数参数:str -- 要被分解成一组小字符串的字符串delim -- 包含分隔符的 C 字符串
返回值:该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针
注意:
- 分割处理后原字符串 str 会变,变成第一个子字符串
- 原字符串的改动是切分符原位置均更改为 ‘\0’,所以内容都还在,可以通过逐个字符打印检验
示例:
void test05()
{char str[80] = "This is =string slipt =test";const char s[2] = "=";char *token;token = strtok(str, s);while( token != NULL ) {printf("%s\n", token );token = strtok(NULL, s);}printf("--------------------\n");// token = strtok(NULL, s);
// printf("%s\n",token);
//
// token = strtok(NULL, s);
// printf("%s\n",token);printf("--------------------\n");printf("%s\n",str);fputs(str,stdout);printf("\n");for (int i = 0; i < 34;i++)printf("%c", str[i]);printf("\n");char ch[80] = "Hello\\nWorld \\ this \\ is \\ test";fputs(ch, stdout);printf("\n");printf("--------------------\n");char sep[2] = "\\";for(token = strtok(ch,sep);token != NULL;token = strtok(NULL,sep))printf("%s\n",token);
}
运行结果: