summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/strpbrk.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/EXAMPLES/strpbrk.c')
-rw-r--r--reference/C/EXAMPLES/strpbrk.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/strpbrk.c b/reference/C/EXAMPLES/strpbrk.c
new file mode 100644
index 0000000..9c33f7a
--- /dev/null
+++ b/reference/C/EXAMPLES/strpbrk.c
@@ -0,0 +1,48 @@
+
+/*
+ * field.c
+ *
+ * Dave Doolin 12 May, 1995
+ *
+ * Turns miscellaneous field separators into just a space separating tokens for
+ * easy parsing by SSCANF. Eventually, the character separators and
+ * replacement character will be passed in as strings.
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <strings.h>
+
+#define LINE_BUF 100
+
+void find_comment(char *);
+
+main()
+{
+ char line[LINE_BUF];
+ char *sep;
+ int var1, var2;
+
+ while (fgets(line, LINE_BUF, stdin))
+ {
+
+ /*
+ * Check this out: Since SEP is a pointer to type char, when line is
+ * assigned to sep, really the first address is assigned to sep. LINE
+ * is the address of the start of the string. In contrast, LINE[0]
+ * is the first character of the string.
+ */
+
+ sep = line;
+
+ while (sep != 0)
+ {
+ sep = strpbrk(line, ";.&:,");
+ if (sep != 0)
+ *sep = ' ';
+ }
+ fputs(line, stdout);
+ }
+ return 0;
+}