//@code strdef s double x[20] y=0 sscanf("this is a test\n", "%s", s) print s sscanf("this is a test\n", "%[^\n]", s) print s sscanf("this is a test\n", "%*s%s", s) print s sscanf("this is a test\n", "%2s", s) print s sscanf("this is a test\n", "%10s", s) print s sscanf("this is a test\n", "%*3s%s", s) print s sscanf("this is a test\n", "%*s%s", s) sscanf("0xff 010 25", "%i%i%i", &x[0], &x[1], &x[2]) print x[0], x[1], x[2] double x[20] sscanf("ff 10 25", "%x%o%d", &x[0], &x[1], &x[2]) print x[0], x[1], x[2] sscanf("50.75", "%d.%d", &x[0], &x[1]) print x[0], x[1] sscanf("30.987654321", "%f", &y) printf("%20.15g\n", y) sscanf("30.987654321", "%lf", &y) printf("%20.15g\n", y) sscanf("A", "%c", &y) printf("%c\n", y) sscanf("1 2 3 4 5 6 7 8 9 10", "%f%f%f%f%f%f%f%f%f%f%f", &x[0], &x[1], &x[2],\ &x[3], &x[4], &x[5], &x[6], &x[7], &x[8], &x[9], &x[10], &x[11], &x[12]) print "should only read ten of the following" for i=0,12 print i, x[i] print "error tests" execute1("sscanf(\"string\", \"%\", s)") execute1("sscanf(\"string\", \"%*\", s)") execute1("sscanf(\"string\", \"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\", &x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x)") execute1("sscanf(\"string\", \"%*5\", s)") execute1("sscanf(\"string\", \"%l[st]\", s)") execute1("sscanf(\"string\", \"%[\", s)") execute1("sscanf(\"string\", \"%[]\", s)") execute1("sscanf(\"string\", \"%[^]\", s)") execute1("sscanf(\"string\", \"%ls\", s)") execute1("sscanf(\"string\", \"%lc\", &y)") execute1("sscanf(\"string\", \"%5c\", &y)") execute1("sscanf(\"string\", \"%q\", &y)") execute1("sscanf(\"string\", \"%s\")") execute1("sscanf(\"string\", \"%s\", &y)") execute1("sscanf(\"25\", \"%d\", s)") execute1("sscanf(\"string\", \"%c%c%c%c%c%c%c%c%c%c%c%c%c\", &x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x,&x)")