如果都是整型值,不需要转换,因为8进制 16进制 10进制只是不同的写法 值是相同的。
直接赋值即可。
如果是字符串 可以用sscanf
八进制用%o 16进制用%x
比如
char s[10] = "11";//8进制。int a;sscanf(s,"%o", &a);
执行后 a=9
类似的
char s[10] = "11";//16进制。int a;sscanf(s,"%x", &a);
执行后 a=17