開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- プログラミング言語: C
- Clang (コンパイラ)
プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第3章(制御の流れ)3.4(Switch)の演習3-2を解いてみる。
その他参考書籍
- プログラミング言語Cアンサー・ブック 第2版 (クロビス・L.トンド、スコット・E.ギンペル(著)、矢吹 道郎(翻訳))
演習 3-2.
コード
sample.c
#include <stdio.h> #define MAXLENGTH 10000 void escape(char s[], char t[]); void unescape(char s[], char t[]); int main() { char s[MAXLENGTH], t[MAXLENGTH], v[MAXLENGTH]; int c, i; i = 0; while ((c = getchar()) != EOF) { s[i] = c; i++; } escape(s, t); unescape(t, v); printf("%s\n", s); printf("escape**********\n"); printf("%s\n", t); printf("unescape**********\n"); printf("%s\n", v); return 0; } void escape(char s[], char t[]) { int i, j; for (i = 0, j = 0; s[i] != '\0'; i++, j++) { switch (s[i]) { case '\n': t[j++] = '\\'; t[j] = 'n'; break; case '\t': t[j++] = '\\'; t[j] = 't'; break; default: t[j] = s[i]; break; } } t[j] = '\0'; } void unescape(char s[], char t[]) { int i, j; for(i = 0, j = 0; s[i] != '\0'; i++, j++) { switch (s[i]) { case '\\': switch (s[++i]) { case 'n': t[j] = '\n'; break; case 't': t[j] = '\t'; break; default: t[j++] = '\\'; t[j] = s[i]; break; } break; default: t[j] = s[i]; break; } } t[j] = '\0'; }
入出力結果(Terminal)
$ ./a.out < sample.txt Ah Love! could you and I with Fate conspire To grasp this sorry Scheme of Things entire, Would not we shatter it to bits -- and then Re-mould it nearer to the Heart's Desire! ah love! could you and i with fate conspire to grasp this sorry scheme of things entire, would not we shatter it to bits -- and then re-mould it nearer to the heart's desire! !@#$%Ah Love! could you and I with Fate conspire !@#$%To grasp this sorry Scheme of Things entire, !@#$%Would not we shatter it to bits -- and then !@#$%Re-mould it nearer to the Heart's Desire! !@#$%ah love! could you and i with fate conspire !@#$%to grasp this sorry scheme of things entire, !@#$%would not we shatter it to bits -- and then !@#$%re-mould it nearer to the heart's desire! escape********** Ah Love! could you and I with Fate conspire\nTo grasp this sorry Scheme of Things entire,\nWould not we shatter it to bits -- and then\nRe-mould it nearer to the Heart's Desire!\nah love! could you and i with fate conspire\nto grasp this sorry scheme of things entire,\nwould not we shatter it to bits -- and then\nre-mould it nearer to the heart's desire!\n!@#$%Ah Love! could you and I with Fate conspire\n!@#$%To grasp this sorry Scheme of Things entire,\n!@#$%Would not we shatter it to bits -- and then\n!@#$%Re-mould it nearer to the Heart's Desire!\n!@#$%ah love! could you and i with fate conspire\n!@#$%to grasp this sorry scheme of things entire,\n!@#$%would not we shatter it to bits -- and then\n!@#$%re-mould it nearer to the heart's desire!\n unescape********** Ah Love! could you and I with Fate conspire To grasp this sorry Scheme of Things entire, Would not we shatter it to bits -- and then Re-mould it nearer to the Heart's Desire! ah love! could you and i with fate conspire to grasp this sorry scheme of things entire, would not we shatter it to bits -- and then re-mould it nearer to the heart's desire! !@#$%Ah Love! could you and I with Fate conspire !@#$%To grasp this sorry Scheme of Things entire, !@#$%Would not we shatter it to bits -- and then !@#$%Re-mould it nearer to the Heart's Desire! !@#$%ah love! could you and i with fate conspire !@#$%to grasp this sorry scheme of things entire, !@#$%would not we shatter it to bits -- and then !@#$%re-mould it nearer to the heart's desire! $
0 コメント:
コメントを投稿