可以使用strcpy
函数或strncpy
函数将const char *
复制到结构体指针。但是,为了确保安全性和避免缓冲区溢出,我们建议使用strncpy
函数,并指定要复制的最大字符数。
示例代码:
#include
#include
struct MyStruct {
char name[20];
int age;
};
int main()
{
const char *name = "Tom";
struct MyStruct myStruct;
/* 使用strncpy复制name */
strncpy(myStruct.name, name, sizeof(myStruct.name));
myStruct.name[sizeof(myStruct.name) - 1] = '\0'; /* 保证结构体不会溢出 */
myStruct.age = 20;
/* 打印输出结构体 */
printf("Name: %s\n", myStruct.name);
printf("Age: %d\n", myStruct.age);
return 0;
}