我的源文件中有一些xmlChar *,我需要它们是整数形式。
如何正确地投射这些?
当我尝试这个world->representation = malloc(sizeof(int *) * mapHeight);
时,它说
error: invalid operands to binary * (have ‘long unsigned int’ and ‘xmlChar *’)
当我尝试这个时
world->representation = malloc(sizeof(int *) * (int) mapHeight);
我收到了这个错误
架构x86_64的未定义符号: “_main”,引自: 从crt1.10.6.o开始 “_commandfetcher”,引自: ccPv5Pvd.o中的_commandFetcher ld:找不到架构x86_64的符号
如何将xmlChar指针强制转换为int?例如,xmlChar的值为30,我需要以int形式。
答案 0 :(得分:2)
您不能简单地将char
投射到int
。 (或者更确切地说,你可以,但它没有做你认为它做的事。)
使用strtol
将字符串转换为整数:
char* number = "30";
int value = strtol(number, NULL, 0);
答案 1 :(得分:0)
你不想转换指针 - 你想取消引用它。
但在这种情况下,您可能希望将字符串转换为整数?