#include <stdio.h>
#include <stdlib.h>
int main() {
FILE* fp = NULL;
char filename[32] = "d:\\data.txt";
fopen_s(&fp, filename, "r");
if (fp == NULL) {
fprintf(stderr, "fopen() error\n");
return -1;
}
int MAXLEN = 4095;
char* buffer = (char*)malloc(sizeof(char) * MAXLEN);
if (buffer == NULL) {
printf("%s", "malloc error");
return -1;
}
int ch;
int length = 0;
char* tmp = NULL;
while ((ch = fgetc(fp)) != EOF) {
if (length == MAXLEN) {
MAXLEN *= 2;
tmp = realloc(buffer, MAXLEN * sizeof(char));
if (tmp == NULL) {
printf("%s", "realloc error");
return -1;
}
else {
buffer = tmp;
}
}
buffer[length] = ch;
length++;
}
buffer[length] = '\0';
puts(buffer);
free(buffer);
fclose(fp);
}
/*
run:
C is a general-purpose programming language.
It was created in the 1970s by Dennis Ritchie,
and remains very widely used and influential...
*/