summaryrefslogtreecommitdiff
path: root/C/HF/categorize.c
diff options
context:
space:
mode:
Diffstat (limited to 'C/HF/categorize.c')
-rw-r--r--C/HF/categorize.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/C/HF/categorize.c b/C/HF/categorize.c
new file mode 100644
index 0000000..a455224
--- /dev/null
+++ b/C/HF/categorize.c
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+void
+usage(char *program)
+{
+ printf("Usage:\n");
+ printf("\t%s: <filter1> <output_file_1> <filter2> <output_file_2> <everything>\n",
+ program);
+ exit(1);
+}
+
+int
+main(int argc, char *argv[])
+{
+ char line[80];
+ FILE *in;
+ FILE *file1;
+ FILE *file2;
+ FILE *file3;
+
+ if (argc != 6)
+ usage(argv[0]);
+
+ in = fopen("spooky.csv", "r");
+ file1 = fopen(argv[2], "w");
+ file2 = fopen(argv[4], "w");
+ file3 = fopen(argv[5], "w");
+
+ while (fscanf(in, "%79[^\n]\n", line) == 1) {
+ if (strstr(line, argv[1]))
+ fprintf(file1, "%s\n", line);
+ else if (strstr(line, argv[3]))
+ fprintf(file2, "%s\n", line);
+ else
+ fprintf(file3, "%s\n", line);
+ }
+
+ fclose(in);
+ fclose(file1);
+ fclose(file2);
+ fclose(file3);
+ return 0;
+}