int main(int argc, char **argv) { double *data; int i; int asciitime, bintime; data = (double *)malloc(FILESIZE * sizeof(double)); assert(data); for (i=0;i<FILESIZE;i++) { data[i] = i*(double)i/2.; } asciitime = write_file_ascii("data.txt",data,FILESIZE); bintime = write_file_bin("data.dat",data,FILESIZE); printf("Time to write files: ASCII: %d, Binary: %d\n",asciitime, bintime); return 0; }
int main(int argc, char *argv[]) { if (argc < 2) { printf("./a.out stufile stufile_bin\n" "or ./a.out stufile_bin\n"); exit(-1); } int n; if (strcmp(argv[1], "stufile") == 0) { FILE *fp = fopen(argv[1], "r"); if (fp == NULL) { perror(argv[1]); exit(-1); } FILE *fp_bin = fopen(argv[2], "w"); if (fp_bin == NULL) { perror(argv[2]); exit(-1); } n = cnt_stu(fp); #ifdef DEBUG printf("n = %d\n", n); #endif struct STU a[n]; rewind(fp); read_file(fp, a, n); sort_stu(a, n); show_stu(a, n); write_file_bin(fp_bin, a, n); fclose(fp); fclose(fp_bin); } else if (strcmp(argv[1], "stufile_bin") == 0) { FILE *fp = fopen(argv[1], "r"); int n = read_file_bin_head(fp); struct STU a[n]; read_file_bin(fp, a, n); show_stu(a, n); fclose(fp); } return 0; }