#include #include #include #include void Usage (void); void main (int argc, char *argv[]) { FILE *F1; char FileName[65]; char String[10]; char *Ptr; long Count, j; int i; int Random = 0; if (argc < 2) Usage(); strcpy(FileName, "test.dat"); for (i=1; i < argc; i++) { if (argv[i][0] != '-') continue; switch ( tolower(argv[i][1]) ) { case 'r': Random = 1; break; case 'f': if (i < argc) strcpy(FileName, argv[i+1]); else { fprintf(stderr,"The '-f' option requires a file name.\n"); exit(1); } break; default: fprintf(stderr, "Invalid option: %s\n", argv[i]); Usage(); } } for (i=1; i < argc; i++) { if (argv[i][0] == '-') continue; Count = strtol(argv[i], &Ptr, 10); if (*Ptr != '\0') { fprintf(stderr, "Invalid count: %s\n", argv[i]); exit(1); } } if ( (F1 = fopen(FileName, "w")) == NULL ) { fprintf(stderr, "I can't create output file: %s", FileName); perror(""); exit(1); } for (j=0; j < Count; j++) { if (Random) sprintf(String, "%09d", rand() ); else sprintf(String, "%09.9ld", j); String[9] = '\0'; if ( (j) && ( (j % 1000) == 0) ) printf("."); fprintf(F1, "%s\n", String); } fclose(F1); } void Usage (void) { fprintf(stderr, "USAGE: bldtst [-r] [-f file_name] count\n"); exit(1); }