aboutsummaryrefslogtreecommitdiff
path: root/stdio-common/tstdiomisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdio-common/tstdiomisc.c')
-rw-r--r--stdio-common/tstdiomisc.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/stdio-common/tstdiomisc.c b/stdio-common/tstdiomisc.c
new file mode 100644
index 0000000..0bd5515
--- /dev/null
+++ b/stdio-common/tstdiomisc.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+
+void
+t1 ()
+{
+ int n = -1;
+ sscanf ("abc ", "abc %n", &n);
+ printf ("t1: count=%d\n", n);
+}
+
+void
+t2 ()
+{
+ int n;
+ long N;
+ int retval;
+#define SCAN(INPUT, FORMAT, VAR) \
+ VAR = -1; \
+ retval = sscanf (INPUT, FORMAT, &VAR); \
+ printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
+ INPUT, FORMAT, retval, VAR);
+
+ SCAN ("12345", "%ld", N);
+ SCAN ("12345", "%llllld", N);
+ SCAN ("12345", "%LLLLLd", N);
+ SCAN ("test ", "%*s%n", n);
+ SCAN ("test ", "%2*s%n", n);
+ SCAN ("12 ", "%l2d", n);
+ SCAN ("12 ", "%2ld", N);
+}
+
+int
+main ()
+{
+ t1 ();
+ t2 ();
+
+ fflush (stdout);
+ return 0;
+}