c语言 变量 char name[8]; const char * tempName = "张三李四",怎么把tempName赋值给name
时间: 2024-03-25 13:39:15 浏览: 135
C语言中判断一个char*是不是utf8编码
要将字符串常量`"张三李四"`赋值给字符数组`name`,可以使用`strncpy`函数。这个函数的原型为:
```c
char *strncpy(char *dest, const char *src, size_t n);
```
其中,`dest`参数是目标字符数组,`src`参数是源字符串,`n`参数是要拷贝的最大字符数,包括字符串末尾的空字符。
那么,要将`tempName`的值赋给`name`,可以这样写:
```c
#include <string.h>
char name[8];
const char *tempName = "张三李四";
strncpy(name, tempName, sizeof(name));
```
这样,`name`数组中就存储了`"张三李"`,最后一个字符是空字符。注意,`sizeof(name)`表示`name`数组的长度,就是8。因为`strncpy`函数在拷贝字符串时,如果源字符串长度不足`n`个字符,就会在拷贝完源字符串后添加空字符,所以`name`数组中最后一个字符是空字符。
阅读全文