summaryrefslogtreecommitdiff
path: root/ch1/whitespace_translator.c
diff options
context:
space:
mode:
authorAdam Carpenter <gitlab@53hor.net>2019-07-09 16:00:48 -0400
committerAdam Carpenter <gitlab@53hor.net>2019-07-09 16:00:48 -0400
commit39c0cbcc70aff47e17107826aa76cb525c83b122 (patch)
treedf483af220a11aab49e0e3a76eea54f60efbd424 /ch1/whitespace_translator.c
parent583fc81152e120ec5873f8057f11a894bb8b0a91 (diff)
downloadlearning-c-39c0cbcc70aff47e17107826aa76cb525c83b122.tar.xz
learning-c-39c0cbcc70aff47e17107826aa76cb525c83b122.zip
ch2
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);
+ }
+}