Source: https://faculty-web.msoe.edu/barnekow/includes/sscanf.pdf