You can write a C program like this:
#include
#include
int main(int argc, char **argv)
{
FILE *fin = fopen("source_file", "rb");
FILE *fout = fopen("target_file", "w");
int c;
while ((c = fgetc(fin)) != EOF) {
if (isprint(c))
fputc(c, fout);
}
fclose(fin);
fclose(fout);
return 0;
}
Note: error checks were avoided for simplicity.
Compile it with:
$ gcc -W source_code.c -o convert
Run it with:
$ ./convert