在C语言中,字符串是一系列字符的集合,以空字符'\0'结尾。以下是一些基本的字符串操作示例:
字符串定义
使用字符数组定义字符串:
```c
char str1[] = "Hello, ";
char str2[] = "world!";
```
使用字符指针定义字符串:
```c
char *ptr = "Hello";
```
字符串连接
使用`strcat`函数连接两个字符串:
```c
include
int main() {
char str1 = "Hello, ";
char str2[] = "world!";
strcat(str1, str2);
printf("%s\n", str1); // 输出: Hello, world!
return 0;
}
```
字符串复制
使用`strcpy`函数复制一个字符串到另一个字符串:
```c
include
int main() {
char str1 = "Hello, ";
char str2;
strcpy(str2, str1);
printf("%s\n", str2); // 输出: Hello,
return 0;
}
```
字符串长度
使用`strlen`函数获取字符串长度:
```c
include
int main() {
char str1[] = "Hello, world!";
int length = strlen(str1);
printf("字符串的长度: %d\n", length); // 输出: 13
return 0;
}
```
字符串比较
使用`strcmp`函数比较两个字符串:
```c
include
int main() {
char str1[] = "Hello, world!";
char str2[] = "Hello, world!";
int result = strcmp(str1, str2);
if (result == 0) {
printf("字符串相等\n");
} else if (result < 0) {
printf("str1 小于 str2\n");
} else {
printf("str1 大于 str2\n");
}
return 0;
}
```
字符串反转
使用循环反转字符串:
```c
include
void rechange_str(char *str) {
int i, len;
char tmp;
if (NULL == str) {
return;
}
len = strlen(str);
for (i = 0; i < len / 2; i++) {
tmp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = tmp;
}
}
int main() {
char str[] = "hello, world!";
printf("原始字符串: %s\n", str);
rechange_str(str);
printf("反转后的字符串: %s\n", str);
return 0;
}
```
字符串操作类
使用结构体定义字符串类,包含字符串的创建、复制、显示等功能: