常用字符串函数及用法总结
字符串是计算机中很常用的数据类型之一,几乎所有的编程语言都对字符串类型有着丰富的支持。而在字符串操作中也有许多经常使用的字符串函数,这些函数让我们可以方便地对字符串进行增删改查等操作。下面就来总结一下常用字符串函数及用法。
1. strlen函数:获取字符串长度
strlen是一个非常常用的函数,它可以用来获取字符串的长度。这个函数的定义如下:
size_t strlen(const char *str)
其中,参数str是一个指向要获取长度的字符串的指针,函数返回的是这个字符串的长度。下面是一个使用strlen函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello world";
int len = strlen(str);
printf("字符串长度为:%d
", len);
return 0;
}
2. strcpy函数:复制字符串
strcpy函数可以将一个字符串的内容复制到另一个字符串中。这个函数的定义如下:
char *strcpy(char *dest, const char *src)
其中,参数dest是一个指向目标字符串的指针,参数src是一个指向源字符串的指针。下面是一个使用strcpy函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[10];
strcpy(str2, str1);
printf("复制后的字符串为:%s
", str2);
return 0;
}
3. strcat函数:拼接字符串
strcat函数可以将一个字符串拼接到另一个字符串的末尾。这个函数的定义如下:
char *strcat(char *dest, const char *src)
其中,参数dest是一个指向目标字符串的指针,参数src是一个指向源字符串的指针。下面是一个使用strcat函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "world";
strcat(str1, str2);
printf("拼接后的字符串为:%s
", str1);
return 0;
}
4. strcmp函数:比较字符串
strcmp函数可以比较两个字符串是否相等。这个函数的定义如下:
int strcmp(const char *str1, const char *str2)
其中,参数str1和str2都是指向要比较的字符串的指针。函数返回值为0表示两个字符串相等,大于0表示str1的字典序大于str2,小于0则表示str1的字典序小于str2。下面是一个使用strcmp函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "world";
if (strcmp(str1, str2) == 0) {
printf("两个字符串相等
");
} else {
printf("两个字符串不相等
");
}
return 0;
}
5. strchr函数:查找字符
strchr函数可以在一个字符串中查找指定的字符。这个函数的定义如下:
char *strchr(const char *str, int c)
其中,参数str是要搜索的字符串,参数c是要查找的字符。如果找到了,则返回指向该字符的指针;否则返回NULL值。下面是一个使用strchr函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello world";
char *p = strchr(str, 'w');
if (p != NULL) {
printf("找到了字符:%c
", *p);
} else {
printf("字符串中没有这个字符
");
}
return 0;
}
6. strstr函数:查找字符串
strstr函数可以在一个字符串中查找指定的子串。这个函数的定义如下:
char *strstr(const char *str1, const char *str2)
其中,参数str1是要搜索的字符串,参数str2是要查找的子串。如果找到了,则返回指向该子串的指针;否则返回NULL值。下面是一个使用strstr函数的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello world";
char *p = strstr(str, "world");
if (p != NULL) {
printf("找到了子串:%s
", p);
} else {
printf("字符串中没有这个子串
");
}
return 0;
}
7. atoi函数:将字符串转换成整数
atoi函数可以将一个字符串转换成整数。这个函数的定义如下:
int atoi(const char *str)
其中,参数str是要被转换成整数的字符串。函数返回的是转换后的整数值。下面是一个使用atoi函数的例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "123";
int num = atoi(str);
printf("转换后的整数为:%d
", num);
return 0;
}
8. atof函数:将字符串转换成浮点数
atof函数可以将一个字符串转换成浮点数。这个函数的定义如下:
double atof(const char *str)
其中,参数str是要被转换成浮点数的字符串。函数返回的是转换后的浮点数值。下面是一个使用atof函数的例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "3.14";
double num = atof(str);
printf("转换后的浮点数为:%f
", num);
return 0;
}
总之,以上这些函数是字符串操作中的一些常用函数,熟练掌握它们,可以让我们方便快捷地操作字符串。
