我有一个文件,我想从中读取数据并将数据存储到一个 char 数组中,我在每个字符读取后动态分配内存。我想动态地将内存分配到所需的大小。这是我所拥有的:
FILE *fp;
char *data;
int c=0;
fp=fopen("home/bob/Downloads/filename", "r");
data=malloc(sizeof(char));
do{
data[c]=fgetc(fp);
printf("data : %c\n", data[c]);
c++;
data=realloc(data, sizeof(char)+c);
} while(data[c]!=EOF);
我得到一个分段错误。