如何在哈希表上的结构中插入字符串

How do I insert a string in a struct that is on an hashtable

提问人:Leonardo Alves 提问时间:11/13/2023 最后编辑:Leonardo Alves 更新时间:11/13/2023 访问量:47

问:

typedef struct user {
    char* id; //username
    char* name;
    char* email;
    char* phone_number;
    char* birth_date;
    char* sex; // M e F
    char* passport; // e.g: LK12938
    char* country_code;
    char* address;
    char* account_creation;
    char* pay_method;
    char* account_status;
    char* voos[50];   
    int total_voos;
} User;

info[0] 是我想在 user2->flights 中插入的信息,info[1] 是哈希表的哈希值; 我有一个if条件来决定哈希表是否存在,如果它存在,我执行以下代码





User* user2 = g_hash_table_lookup(users_data->users_hashtable, info[1]);
                    
        user2->flights[user->total_flights] = g_strdup(info[0]);
        user2->total_flights++;
        g_hash_table_insert(users_data->users_hashtable, info[1], user2);


当我尝试将字符串添加到我的结构中时,我遇到了分段错误,user2->total_flights++ 工作并且我使用 malloc 作为结构。也许语法是错误的,我不知道

c 滑行

评论

4赞 Some programmer dude 11/13/2023
结构是什么?什么是会员?它是如何初始化的?什么?如何初始化?如果未找到任何元素并返回 null 指针,会发生什么情况?请尝试创建一个最小的可重现示例,并编辑您的问题以显示它。Userflightsinfoinfog_hash_table_lookup
3赞 Fe2O3 11/13/2023
User和。。。在 6 个月内,您会希望自己没有使用如此多的变体......试着想出更独特的名字。你会感谢自己......user2userusers_data->users_hashtableuser

答: 暂无答案