C 语言 String 函数:功能详解和使用指南392


在 C 编程语言中,string(字符串)是一种数据类型,用于存储和操作字符序列。C 语言提供了广泛的 string 函数库,用于各种字符串操作任务,例如创建、修改、比较和搜索字符串。## 创建字符串
* char* malloc(size_t size);
* 分配给定大小的内存块,并返回指向第一个字节的指针。
* char* strdup(const char* string);
* 复制给定字符串并返回新分配内存的新副本。
* char* strcpy(char* dest, const char* src);
* 将源字符串复制到目标字符串中,覆盖目标字符串中的现有内容。
* char* strncpy(char* dest, const char* src, size_t count);
* 将源字符串的前 count 个字符复制到目标字符串中,覆盖目标字符串中的现有内容。
## 修改字符串
* char* strcat(char* dest, const char* src);
* 将源字符串附加到目标字符串的末尾。
* char* strncat(char* dest, const char* src, size_t count);
* 将源字符串的前 count 个字符附加到目标字符串的末尾。
* int strcmp(const char* str1, const char* str2);
* 比较两个字符串,返回 0 如果它们相等,返回正整数如果 str1 大于 str2,返回负整数如果 str1 小于 str2。
* int strncmp(const char* str1, const char* str2, size_t count);
* 比较两个字符串的前 count 个字符,返回 0 如果它们相等,返回正整数如果 str1 大于 str2,返回负整数如果 str1 小于 str2。
## 搜索字符串
* char* strchr(const char* string, int character);
* 返回字符串中首次出现指定字符的指针。
* char* strrchr(const char* string, int character);
* 返回字符串中最后一次出现指定字符的指针。
* char* strstr(const char* string, const char* substring);
* 返回字符串中首次出现指定子串的指针。
* size_t strlen(const char* string);
* 返回字符串中字符的数量,不包括终止空字符 '\0'。
## 转换字符串
* char* itoa(int value, char* str, int base);
* 将整数转换为字符串,指定进位制。
* char* ftoa(double value, char* str, int precision);
* 将浮点数转换为字符串,指定精度。
* char* strtol(const char* str, char endptr, int base);
* 将字符串转换为长整数,指定进位制和可选的结束指针。
* char* strtof(const char* str, char endptr);
* 将字符串转换为浮点数,并提供可选的结束指针。
## 其他
* void free(void* ptr);
* 释放先前通过 malloc() 分配的内存。
* size_t sizeof(const char* string);
* 返回字符串的大小,包括终止空字符 '\0'。
## 示例
```c
#include
#include
#include
int main() {
// 创建一个字符串
char* str = strdup("Hello, world!");
// 修改字符串
strcat(str, "!");
// 搜索字符串
char* pos = strstr(str, "world");
// 转换字符串
int value = atoi(str);
// 打印结果
printf("字符串:%s", str);
printf("字符串长度:%zu", strlen(str));
printf("字符串中 world 的位置:%p", pos);
printf("整数值:%d", value);
// 释放内存
free(str);
return 0;
}
```
此示例创建一个字符串、对其进行修改、搜索一个子串、将其转换为整数并打印结果。

2024-10-16


上一篇:使用 C 语言每行输出 5 个值

下一篇:C 语言 strcmp() 函数:比较字符串