在VC++中,将常量字符赋给结构内部的字符数组

Assign constant char to character array inside structure in VC++

本文关键字:字符 结构 内部 数组 常量 VC++      更新时间:2023-10-16

我希望在我的VC++应用程序中有一个链表结构

我的结构是:-

struct xml_data {
    int id;
    char file_name[50];
    char url_source[50];
    struct xml_Data *next;
}xml_data1;

如果我声明一个像这样的变量

struct xml_data *var;
const char* abc;

我想将constchar*变量中的一个值分配给结构成员。

我试过使用

var->file_name=abc;

但它给出了一个错误,即无法将const char*转换为char[50]。。。

这可能是一个小问题,但我对使用数据结构非常陌生。。。。

使用new为结构分配内存之后。

var = new xml_data;

使用strcpy将一个复制到另一个。

strcpy(var->file_name,abc);

包括<cstring>,并确保目的地有足够的空间。

xml_data::file_name是一个数组,不可修改。它总是固定在&file_name[0](第一个元素的地址)上。

最多可以使用strcpy/strncpy/memcpy或等效工具将指针的内容复制到该数组中。