不怎么重要的前言
上一篇我们介绍了array的延伸应用,利用字元阵列我们可以当作储存字串的工具。
今天我们来介绍一下字串(String)相关的应用--String函式库!
String 函式库
<string.h>是一个包含了许多字串应用的函式库,这个函式库可以让你複製一个字串的内容到另一个字串、合併字串、分割字串、计算字串长度、比较字串是否相等,这些都可以在<math.h>中找到对应函式来协助处理,可以省去很多不必要的麻烦。
介绍(1) 计算str长度
(2) 複製字串
(3) 合併字串
(4) 字串比较
(5) 分割字串
(6) 查找字元
(7) 字母大小写转换
(8) 字串设定
#include <stdio.h>#include <string.h>int main(void) { char str1[10] = "12345"; printf("strlen: %d\n", strlen(str1)); char str2[] = "apple!"; char str3[] = "bird!"; strncpy(str2, str3, 4); printf("strncpy: %s\n", str2); char str4[] = "apple!"; char str5[] = "bird!"; strncat(str4, str5, 4); printf("strncat: %s\n", str4); char str6[] = "aaa"; char str7[] = "AAA"; printf("strcmp: %d\n", strcmp(str6, str7)); printf("strcmpi: %d\n", strcmpi(str6, str7)); char str8[] = "apple bird cat"; char c[]=" "; char *token; token = strtok(str8, c); printf("strtok: %s\n", token); token = strtok(NULL, c); printf("strtok: %s\n", token); token = strtok(NULL, c); printf("strtok: %s\n", token); char str9[] = "Hello World!"; char c2 = 'W'; printf("strchr: %p\n", strchr(str9, c2)); printf("strchr index: %d\n", strchr(str9, c2)-str9); char str10[] = "abcDef"; strupr(str10); printf("strupr: %s\n", str10); char str11[] = "12345"; char c3 = 'c'; strset(str11, c3); printf("strset: %s\n", str11); char str12[] = "Hello World!"; strrev(str12); printf("strrev: %s\n", str12); return 0; }