// this program extracts lines, corresponding to // a definite particle from a .num file #include #include #include #include #include "escanf.h" main (int argc, char* argv[]) { FILE *in, *out; char* string1 = (char*) malloc (513 * sizeof (char)) ; int idt = 0; float variable ; if ( ! (in = fopen (argv[1], "r"))) { printf (" No input file \n") ; exit (0); } if ( ! (out = fopen (argv[2], "w"))) { printf (" Unable to create output file\n"); exit (0); } if ( ( idt = atoi (argv[3]) ) < 10 ) { printf (" Invalid particle id\n"); exit (0); } while ( fgets (string1, 512, in) ) { while ( escanf (string1, "%f", &variable) ) ; if ( fabsf ( fabsf (variable) - idt) < 1e-4 ) fputs (string1, out) ; } fclose (in); fclose (out); }