예제 #1
0
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;
}
예제 #2
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;
}