exc/k&r/02-types-operators-and-exp/02-04.c

33 lines
670 B
C

#include <stdio.h>
void squeeze(char s[], char cs[]);
/* deletes all characters from second arg from first arg */
int main(int argc, char *argv[])
{
if (argc == 1) {
printf("error : expected string to squeeze\n");
return 1;
}
if (argc > 2)
squeeze(argv[1], argv[2]);
printf("%s\n", argv[1]);
return 0;
}
/* squeeze : deletes all characters from 'cs' from 's' */
void squeeze(char s[], char cs[])
{
int i, j;
int ci, cf;
for (i = j = 0; s[i] != '\0'; i++) {
for (ci = 0; cs[ci] != '\0' && (cf = (cs[ci] != s[i])); ci++)
;
if (cf)
s[j++] = s[i];
}
s[j] = '\0';
}