LINUX.ORG.RU

int main(int argc, char *argv[])
{
  for (unsigned char p =  argc > 2 && !strcmp(argv[1], "-p") ? (argc--, argv++, 1) : 0, 
	 v =  argc > 2 && !strcmp(argv[1], "-v") ? (argc--, argv++, 1) : 0, *s = argc > 1 ? argv[1] : 0,
	 c = argc > 2 || !s || !strcmp(s, "-p") ? (puts("usage: translitr [-p] [-v] WORD"), exit(1), 0) : 0; 
       *s || (putchar('\n'), 0); 
       putchar(!v ? isalpha(*s) ? (p ? islower(*s) ? toupper(*s) : tolower(*s) : *s) | 0x80 : *s
	       : isalpha(*s & 0x7F) ? (p ? islower(*s) ? toupper(*s) : tolower(*s) : *s) & 0x7F : *s), s++);
}

Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.