繁体   English   中英

从结构中将字符串分配给char值

[英]Assigning a string to a char value from a struct

我正在尝试从结构中将字符串分配给char值

typedef struct blah_param_s {
    struct blah_param_s*  param_next;
    blah_param_type_t     param_type;
} blah_param_t;

typedef struct blah_param_char_s {
    blah_param_t    param_hdr;
    char*           param_val;
} blah_param_char_t;

我的功能是:

static inline char blah_get_param_char (blah_param_t* param_p)
{
    return (((blah_param_char_t*)param_p)->param_val);
}

而这一切的令人讨厌的代码是:

((blah_param_char_t*)new_param_p)->param_val = value;

值是“等等”

给我一个警告:return从指针转换为整数而不进行强制转换

现在,对于整数,它可以工作:

typedef struct blah_param_int_s {
    blah_param_t    param_hdr;
    uint32_t        param_val;
} blah_param_int_t;

static inline uint32_t blah_get_param_int (blah_param_t* param_p)
{
    return (((blah_param_int_t*)param_p)->param_val);
}

任何帮助将非常感激!

如果要从函数blah_get_param_char返回字符串的第一个字符,请使用*(((blah_param_int_t*)param_p)->param_val)而不是(((blah_param_char_t*)param_p)->param_val);

或者,如果要返回整个字符串,则以指针( char* )的形式返回该字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM