sscanf()?- "x" ?
sscanf() , "Age2:" "Age1:", .
, , , . , 2 "Age2", 1 "Age1" , . , - . .
:
#include <stdio.h>
int main(void)
{
const char string[] = "Age1: 3\r\nAge2: 5\r\n";
const char *scan[] = { "Age1: %d", "Age2: %d", "Age1: %d Age2: %d" };
int age1, age2;
int rc;
if ((rc = sscanf(string, scan[0], &age1)) != 1)
printf("scan failed on '%s'\n", scan[0]);
else
printf("scan passed on '%s' - age %d\n", scan[0], age1);
if ((rc = sscanf(string, scan[1], &age2)) != 1)
printf("scan failed on '%s'\n", scan[1]);
else
printf("scan passed on '%s' - age %d\n", scan[1], age2);
if ((rc = sscanf(string, scan[2], &age1, &age2)) != 2)
printf("scan failed on '%s'\n", scan[2]);
else
printf("scan passed on '%s' - age1 %d, age2 %d\n", scan[2], age1, age2);
return 0;
}
scan passed on 'Age1: %d' - age 3
scan failed on 'Age2: %d'
scan passed on 'Age1: %d Age2: %d' - age1 3, age2 5