**C 语言中的字符串移动函数**144


在 C 语言中,字符串移动函数用于将一个字符串中的字符移动到另一个字符串。这对于复制、截取和拼接字符串非常有用。本文将探讨 C 语言中字符串移动函数的种类及其使用方法。

strcpy() 函数

strcpy() 函数将源字符串中的字符复制到目标字符串中。源字符串的终止字符 '\0' 也被复制到目标字符串中。语法如下:```c
char *strcpy(char *dest, const char *src);
```

其中:
* dest 是目标字符串。
* src 是源字符串。

例如:```c
int main() {
char src[] = "Hello";
char dest[10];
strcpy(dest, src);
printf("目标字符串:%s", dest);
return 0;
}
```

输出:```
目标字符串:Hello
```

strncpy() 函数

strncpy() 函数与 strcpy() 类似,但它允许指定复制的字符数。语法如下:```c
char *strncpy(char *dest, const char *src, size_t n);
```

其中:
* dest 是目标字符串。
* src 是源字符串。
* n 是要复制的字符数。

如果 n 大于源字符串的长度,则目标字符串将用 '\0' 填充剩余部分。例如:```c
int main() {
char src[] = "Hello";
char dest[10];
strncpy(dest, src, 4);
printf("目标字符串:%s", dest);
return 0;
}
```

输出:```
目标字符串:Hell
```

strcat() 函数

strcat() 函数将源字符串附加到目标字符串的末尾。语法如下:```c
char *strcat(char *dest, const char *src);
```

其中:
* dest 是目标字符串。
* src 是源字符串。

例如:```c
int main() {
char dest[] = "Hello";
char src[] = "World";
strcat(dest, src);
printf("目标字符串:%s", dest);
return 0;
}
```

输出:```
目标字符串:HelloWorld
```

strncat() 函数

strncat() 函数与 strcat() 类似,但它允许指定要附加的字符数。语法如下:```c
char *strncat(char *dest, const char *src, size_t n);
```

其中:
* dest 是目标字符串。
* src 是源字符串。
* n 是要附加的字符数。

如果 n 大于源字符串的长度,则只有源字符串的 n 个字符将被附加到目标字符串的末尾。例如:```c
int main() {
char dest[] = "Hello";
char src[] = "World";
strncat(dest, src, 4);
printf("目标字符串:%s", dest);
return 0;
}
```

输出:```
目标字符串:HelloWorld
```

memset() 函数

memset() 函数可用于将指定字符填充到字符串中。语法如下:```c
void *memset(void *str, int c, size_t n);
```

其中:
* str 是要填充的字符串。
* c 是要填充的字符。
* n 是要填充的字符数。

例如:```c
int main() {
char str[] = "Hello";
memset(str, '*', 3);
printf("填充后的字符串:%s", str);
return 0;
}
```

输出:```
填充后的字符串:*lo
```

结论

C 语言中的字符串移动函数提供了多种操作字符串的方法,包括复制、截取、拼接和填充。通过理解这些函数的用法,你可以高效地处理字符串并创建强大的文本处理程序。

2025-02-15


上一篇:C语言中定义和使用函数

下一篇:C 语言函数库:深入了解 C 的强大功能