私が先日作っていたプログラムの一部を例にします。これはHTMLのうちの一部を受け取って、それを適当に加工してコンソールに出力するためのものです。
for (;;) {
if (*p == '\0') break;
if (*p == '<') {
if (strncmp(p, "<br />", 6) == 0) { p += 6; putchar('\n'); continue; }
if (strncmp(p, "<strong>", 8) == 0) { p += 8; continue; }
if (strncmp(p, "</strong>", 9) == 0) { p += 9; continue; }
if (strncmp(p, "<div>", 5) == 0) { p += 5; continue; }
if (strncmp(p, "</div>", 6) == 0) { p += 6; continue; }
if (strncmp(p, "<h3>", 4) == 0) { p += 4; putchar('\n'); continue; }
if (strncmp(p, "</h3>", 5) == 0) { p += 5; putchar('\n'); continue; }
(似たような処理がまだたくさん続くが面倒なので省略)
}
if (*p == ' ' || *p == '\r' || *p == '\n' || *p == '\t') {
while (*p == ' ' || *p == '\r' || *p == '\n' || *p == '\t')
p++;
putchar(' ');
continue;
}
putchar(*p++);
}