#include #include #define BUFFER_SIZE 512 int main(int argc, char **argv) { char data[BUFFER_SIZE]; char map[256]; int i; for (i = 0; i < 256; i++) { map[i] = (i >= 32 && i <= 127) ? i : 0; } map['\n'] = '\n'; if (argc == 3) { char *p = argv[1]; char *q = argv[2]; for (; *p; p++) { map[(unsigned char) *p] = *q; if (*q) q++; } } while (fgets(data, BUFFER_SIZE, stdin)) { int j = 0; for (i = 0; data[i]; i++) { if (map[(unsigned char) data[i]]) { data[j] = map[(unsigned char) data[i]]; j++; } } data[j] = 0; fputs(data, stdout); } return EXIT_SUCCESS; }