memcpy和memset是C语言中常用的字符串操作函数,都在string.h头文件中声明。
- memcpy函数的原型为:void *memcpy(void *dest, const void *src, size_t n)。
- 参数dest是目标地址,src是源地址,n是要拷贝的字节数。
- 功能是将源地址src的内容拷贝到目标地址dest处,拷贝的长度是n个字节。
- 返回值是指向目标地址dest的指针。注意:如果源地址和目标地址有重叠,就无法保证拷贝的结果是正确的。
- 使用示例:
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello, World!";
char dest[20];
memcpy(dest, src, strlen(src) + 1);
printf("拷贝的字符串是:%s\n", dest);
return 0;
}
输出结果为:拷贝的字符串是:Hello, World!
- memset函数的原型为:void *memset(void *s, int c, size_t n)。
- 参数s是要填充的目标地址,c是要填充的字符的ASCII码,n是要填充的字节数。
- 功能是将目标地址s开始的n个字节都设置为字符c。
- 返回值是指向目标地址s的指针。
- 使用示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "*********";
memset(str, '*', 5);
printf("填充后的字符串是:%s\n", str);
return 0;
}
输出结果为:填充后的字符串是:*****
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |