sscanf和八进制
问题描述:
为什么它不工作?sscanf和八进制
const char* ip = "192.168.1.4";
unsigned int ip4[4];
sscanf(ip,"%o.%o.%o.%o",ip4,ip4+1,ip4+2,ip4+3); // doesn't work
sscanf(ip,"%d.%d.%d.%d",ip4,ip4+1,ip4+2,ip4+3); // works
我检查了scanf(3)的手册页,它明确指出%o是完全可以接受的。
答
没有“8
”,并在八进制“9
”,所以192
和168
不是八进制数,所以sscanf
不能解析它们为八进制数字。
我会在12分钟内接受您的回答。谢谢一堆。 – bioffe