摘要:1. 声明和初始化 字符数组初始化:可以直接在声明时赋值,如 `char str[] = "Hello, World!";` 或逐个字符初始化,如 `char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', ''};`。 动态初始化:可以...
1. 声明和初始化
字符数组初始化:可以直接在声明时赋值,如 `char str[] = "Hello, World!";` 或逐个字符初始化,如 `char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', ' '};`。
动态初始化:可以在运行时通过赋值来初始化,但需先定义一个足够大的字符数组。
2. 字符串长度
使用 `strlen` 函数计算字符串的长度,不包括结束符` `。例如:`int len = strlen(str);`。
3. 字符串复制
使用 `strcpy` 函数复制字符串。例如:`char dest[50]; strcpy(dest, str1);`。
4. 字符串连接
使用 `strcat` 函数将两个字符串连接。例如:`char str1[50] = "Hello, "; strcat(str1, "World!");`。
5. 字符串比较
使用 `strcmp` 函数比较字符串。如果字符串相等返回0,否则返回正负值。例如:
```c
if(strcmp(str1, str2) == 0) {
// 字符串相等
```
6. 字符串查找
使用 `strstr` 函数在字符串中查找子字符串。如果找到,返回子字符串的地址;否则返回NULL。例如:
```c
char str[] = "Hello, world";
char found = strstr(str, "world");
```
7. 字符串分割
使用 `strtok` 函数可以分割字符串。例如,分割以逗号分隔的字符串:
```c
char str[] = "part1,part2,part3";
char token = strtok(str, ",");
while(token != NULL) {
printf("%sn", token);
token = strtok(NULL, ",");
```
8. 字符串遍历
可以通过循环遍历字符串中的每个字符,通常使用索引或指针。例如:
```c
for(int i = 0; str[i] != ' '; i++) {
printf("%c", str[i]);
```
9. 动态内存分配
使用 `malloc` 或 `calloc` 为字符串动态分配内存,使用完后用 `free` 释放。例如:
```c
char str = (char)malloc(sizeof(char) 50);
// 使用str...
free(str);
```
10. 字符串格式化
使用 `sprintf`, `snprintf`, `printf`, `fprintf` 等函数进行字符串的格式化输出或存储。
这些操作是通过C标准库中的`string.h`头文件提供的函数来实现的,确保在使用这些函数之前包含该头文件。正确使用这些函数能够有效地处理和操作字符串。