#include #define MIN_BUFFER 1 /* 1 Byte */ #define MAX_BUFFER 4 * 1024 /* 4K */ #define FILE_SIZE 32 * 1024 /* 32K */ int main() { int i, c; FILE *file; char buf[MAX_BUFFER]; long tbegin, tend; if ((file = tmpfile()) == NULL) return 0; for (c = 0; c < MAX_BUFFER; c++) buf[c] = rand(); i = 0; while (i < FILE_SIZE) { tbegin = clock(); if (i + c > MAX_BUFFER) c = MAX_BUFFER - i; fwrite(buf, 1, c, file); i+= c; tend = clock(); printf("%4d: read %d\n", c, tend - tbegin); } fclose(file); return 0; }