Parse an ipv4 number in dotted-decimal notation
#include <ip4.h>
int scan_ip4(const char *src,char ip[4]);
scan_ip4 parses an IPv4 number in dotted-decimal ASCII representation from src and writes the result into ip. It returns the number of bytes read from src or 0 if the parsing failed.
Unlike many other IP parsing routines, scan_ip4 does not recognize octal (like 0177.0.0.1) or hexadecimal numbers (like 0x7f000001).
#include <str.h>
#include <ip4.h>
char buf[]="160.45.40.10"; char ip[4]; if (scan_ip4(buf,ip) != str_len(buf)) parse_error();