c语言中拷贝char*数据
时间: 2023-10-18 09:04:20 浏览: 118
有关C语言中的文件操作如文件如何读,写,定位,拷贝等
在C语言中,拷贝`char*`类型的数据可以使用`strcpy()`函数或`memcpy()`函数。这两个函数的区别在于,`strcpy()`函数是针对字符串类型的拷贝,它会在源字符串末尾自动添加一个字符串结束符`\0`;而`memcpy()`函数则是针对任意类型的拷贝,不会自动添加字符串结束符。
以下是使用`strcpy()`函数和`memcpy()`函数拷贝`char*`类型数据的示例代码:
使用`strcpy()`函数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[20];
strcpy(str2, str1);
printf("str2: %s\n", str2);
return 0;
}
```
输出结果为:
```
str2: Hello, World!
```
使用`memcpy()`函数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[20];
memcpy(str2, str1, strlen(str1) + 1);
printf("str2: %s\n", str2);
return 0;
}
```
输出结果同样为:
```
str2: Hello, World!
```
在使用`memcpy()`函数时,需要注意第三个参数是要拷贝的字节数,需要根据字符串长度加上1(用于拷贝字符串结束符`\0`)。
阅读全文