summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/strtol.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/EXAMPLES/strtol.c')
-rw-r--r--reference/C/EXAMPLES/strtol.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/strtol.c b/reference/C/EXAMPLES/strtol.c
new file mode 100644
index 0000000..4fbbc16
--- /dev/null
+++ b/reference/C/EXAMPLES/strtol.c
@@ -0,0 +1,81 @@
+/****************************************************************
+ *
+ * Purpose: To show examples of the strtol function.
+ * Author: M.J. Leslie
+ * Date: 06-Nov-94
+ *
+ ****************************************************************/
+
+#include <stdlib.h>
+
+main()
+{
+ char num[10];
+
+ /* Test a valid number */
+ strcpy(num,"13");
+
+ printf("%s(Oct) is %i(Dec)\n", num, strtol(num, NULL, 8));
+ printf("%s(Dec) is %i(Dec)\n", num, strtol(num, NULL, 10));
+ printf("%s(hex) is %i(Dec)\n", num, strtol(num, NULL, 16));
+
+ puts("----------------------------------");
+
+ /* Test a slightly valid number
+ * Returns the same results as
+ * above. */
+ strcpy(num, "13hzcd");
+
+ printf("%s(Oct) is %i(Dec)\n", num, strtol(num, NULL, 8));
+ printf("%s(Dec) is %i(Dec)\n", num, strtol(num, NULL, 10));
+ printf("%s(hex) is %i(Dec)\n", num, strtol(num, NULL, 16));
+
+ puts("----------------------------------");
+
+ /* Test an invalid number
+ * Returns ZERO */
+ strcpy(num, "hzcd");
+
+ printf("%s(Oct) is %i(Dec)\n", num, strtol(num, NULL, 8));
+ printf("%s(Dec) is %i(Dec)\n", num, strtol(num, NULL, 10));
+ printf("%s(hex) is %i(Dec)\n", num, strtol(num, NULL, 16));
+
+
+ puts("----------------------------------");
+
+ /* Test 0 base.
+ * This will look at the number
+ * and decide the base for its self!
+ */
+ strcpy(num, "13");
+ printf("%s is %i(Dec)\n", num, strtol(num, NULL, 0));
+
+ strcpy(num, "013");
+ printf("%s is %i(Dec)\n", num, strtol(num, NULL, 0));
+
+ strcpy(num, "0x13");
+ printf("%s is %i(Dec)\n", num, strtol(num, NULL, 0));
+
+}
+
+/****************************************************************
+ *
+ * Results of the program:
+ *
+ * 13(Oct) is 11(Dec)
+ * 13(Dec) is 13(Dec)
+ * 13(hex) is 19(Dec)
+ * ----------------------------------
+ * 13hzcd(Oct) is 11(Dec)
+ * 13hzcd(Dec) is 13(Dec)
+ * 13hzcd(hex) is 19(Dec)
+ * ----------------------------------
+ * hzcd(Oct) is 0(Dec)
+ * hzcd(Dec) is 0(Dec)
+ * hzcd(hex) is 0(Dec)
+ * ----------------------------------
+ * 13 is 13(Dec)
+ * 013 is 11(Dec)
+ * 0x13 is 19(Dec)
+ *
+ ****************************************************************/