if no paramter is passed it will default to a path.
#include <cstdio> int main(int n, char *c[]) { char *a = 0 ? "C:\\tests\\nonwhitespacecount\\Debug\\1.txt" : c[1]; FILE*f = fopen(a,"rb"); if(f) { printf("unable to open %s\n", a); return 0; } fseek(f,0,SEEK_END); int size= ftell(f); char*r = new char[size+1]; fseek(f,0,SEEK_SET); fread(r,1,size,f); fclose(f); f = fopen("out.txt","wb"); int nonwhitespaces = 0; for( int i =0; i < size; i++) { switch(r[i]) { case 32: case 9: case 0: case 13: case 10: break; default: nonwhitespaces++; fwrite(r+i,1,1,f); break; } } fclose(f); printf("nonwhitespaces %d.", nonwhitespaces); return 0; }