summaryrefslogtreecommitdiff
path: root/ch1/whitespace_translator.c
diff options
context:
space:
mode:
Diffstat (limited to 'ch1/whitespace_translator.c')
-rw-r--r--ch1/whitespace_translator.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/ch1/whitespace_translator.c b/ch1/whitespace_translator.c
new file mode 100644
index 0000000..efb52b2
--- /dev/null
+++ b/ch1/whitespace_translator.c
@@ -0,0 +1,26 @@
+#include<stdio.h>
+
+/*
+ * Translate invisible whitespace characters to visible
+ * representations.
+ */
+main() {
+ int c;
+
+ while ((c = getchar()) != EOF) {
+ if (c == 8) {
+ printf("\\b");
+ continue;
+ }
+ if (c == 9) {
+ printf("\\t");
+ continue;
+ }
+ if (c == '\\') {
+ printf("\\\\");
+ continue;
+ }
+
+ putchar(c);
+ }
+}