爲什麼它不工作?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是完全可以接受的。
爲什麼它不工作?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