欢迎访问宙启技术站
智能推送

字符串处理函数-常用

发布时间:2023-06-10 10:27:19

字符串是一种常见的数据类型,各种编程语言都支持字符串的操作。在实际的开发中,我们常常需要对字符串进行各种处理,比如查找、替换、截取、分割等操作。本文将介绍一些常用的字符串处理函数。

1. strlen函数

strlen函数用于计算字符串的长度(不包括结尾的'\0'),其语法如下:

size_t strlen(const char *s);

其中,s为指向要计算长度的字符串的指针。例如:

char str[] = "hello";
int len = strlen(str);
printf("%d
", len);  // 输出 5

2. strcpy函数

strcpy函数用于将源字符串复制到目标字符串中,其语法如下:

char *strcpy(char *dest, const char *src);

其中,dest为指向目标字符串的指针,src为指向源字符串的指针。例如:

char str1[] = "hello";
char str2[10];
strcpy(str2, str1);
printf("%s
", str2);  // 输出 hello

3. strcat函数

strcat函数用于将源字符串连接到目标字符串末尾,其语法如下:

char *strcat(char *dest, const char *src);

其中,dest为指向目标字符串的指针,src为指向源字符串的指针。例如:

char str1[] = "hello";
char str2[] = "world";
strcat(str1, str2);
printf("%s
", str1);  // 输出 helloworld

4. strcmp函数

strcmp函数用于比较两个字符串,其语法如下:

int strcmp(const char *s1, const char *s2);

其中,s1和s2为两个要比较的字符串。如果两个字符串相等,返回0;如果s1大于s2,返回一个正数;如果s1小于s2,返回一个负数。例如:

char str1[] = "hello";
char str2[] = "world";
int cmp = strcmp(str1, str2);
printf("%d
", cmp);  // 输出 -15

5. strchr函数

strchr函数用于在一个字符串中查找一个字符,其语法如下:

char *strchr(const char *s, int c);

其中,s为要查找的字符串,c是要查找的字符。如果找到,返回该字符在字符串中的第一个出现位置的指针;否则返回NULL。例如:

char str[] = "hello";
char *p = strchr(str, 'l');
printf("%s
", p);  // 输出 llo

6. strstr函数

strstr函数用于在一个字符串中查找另一个字符串,其语法如下:

char *strstr(const char *haystack, const char *needle);

其中,haystack为要查找的字符串,needle是要查找的子字符串。如果找到,返回该子字符串在字符串中的第一个出现位置的指针;否则返回NULL。例如:

char str1[] = "hello world";
char str2[] = "world";
char *p = strstr(str1, str2);
printf("%s
", p);  // 输出 world

7. strtok函数

strtok函数用于将一个字符串分割为若干个子字符串,其语法如下:

char *strtok(char *str, const char *delim);

其中,str为要分割的字符串,delim为分割符。第一次调用strtok时,str指向要分割的字符串,以后每次调用时,str指向NULL。如果找到分割符,返回该分割符前面的子字符串的指针,同时将该分割符替换为NULL;否则返回NULL。例如:

char str[] = "hello,world,goodbye";
char *p = strtok(str, ",");
while (p != NULL) {
  printf("%s
", p);
  p = strtok(NULL, ",");
}

上述代码将输出:

hello
world
goodbye

以上是一些常用的字符串处理函数,掌握了这些函数的使用,可以使我们在实际的开发中更加方便地处理各种字符串。