@@ -3,6 +3,22 @@
3#include <stdlib.h>
3#include <stdlib.h>
4#include <string.h>
4#include <string.h>
6+void lazystring(const char *name)
8+ FILE *ufp = fopen(name, "r");
9+ const size_t bufsize = sizeof(char) * 32 * 1024;
10+ char *str = malloc(bufsize);
15+ n = fread(str, sizeof(char), bufsize, ufp);
19+ printf("%ld\n", len);
6void lazytext(const char *name)
22void lazytext(const char *name)
8 UFILE *ufp = u_fopen(name, "r", NULL, "UTF-8");
24 UFILE *ufp = u_fopen(name, "r", NULL, "UTF-8");
@@ -38,6 +54,24 @@ void text(const char *name)
38 printf("%d\n", n);
54 printf("%d\n", n);
57+void string(const char *name)
59+ FILE *fp = fopen(name, "r");
64+ fseek(fp, 0, SEEK_END);
66+ fseek(fp, 0, SEEK_SET);
68+ str = malloc(sizeof(*str) * fsize);
70+ n = fread(str, sizeof(char), fsize, fp);
41int main(int argc, char **argv)
75int main(int argc, char **argv)
43 if (argc != 3) {
77 if (argc != 3) {
@@ -45,8 +79,12 @@ int main(int argc, char **argv)
48− if (strcmp(argv[1], "lazytext") == 0)
82+ if (strcmp(argv[1], "lazystring") == 0)
84+ else if (strcmp(argv[1], "lazytext") == 0)
49 lazytext(argv[2]);
85 lazytext(argv[2]);
86+ else if (strcmp(argv[1], "string") == 0)
50 else if (strcmp(argv[1], "text") == 0)
88 else if (strcmp(argv[1], "text") == 0)
51 text(argv[2]);
89 text(argv[2]);