gpt4 book ai didi

c++ - 将 char * 转换为 uint16 和 uint32

转载 作者:行者123 更新时间:2023-11-30 05:03:29 26 4
gpt4 key购买 nike

我在 C++ 中使用 sqlite3。我在将 SQL 结果从 char 数组中获取到我的结构时遇到了一些问题。

class Row {
public:
uint8_t type;
uint16_t user;
uint32_t ipAddress;
std::string name;
};

void SqlToRow(char **argv, Row *row){
row->type = *(argv[0]);
row->user = *(uint16_t*)argv[1];
row->ipAddress = *(uint32_t*)argv[2];
row->name = argv[3];
}

唯一有效的是typename。其余的看起来像随机值,如 892486210

最佳答案

错误是您试图将 char* 值重新解释为数字。将 sscanfSCNu16SCNu32 一起使用,如下所示:

sscanf(argv[1], "%" SCNu16, &row->user);
sscanf(argv[2], "%" SCNu32, &row-> ipAddress);

关于c++ - 将 char * 转换为 uint16 和 uint32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com