char* ContentOfFile(char* file_name)
{
FILE* file = fopen(file_name, "rb");
if (!file) {
printf("打开文件失败\n");
return NULL;
}
//将文件指针移动到文件末尾
if (fseek(file, 0, SEEK_END) != 0) {
printf("fseek error\n");
return NULL;
}
//求出当前文件指针距离文件开始的字节数
long size = ftell(file);
if (size == -1) {
printf("获取文件大小失败\n");
return NULL;
}
//将文件指针返回到文件开始处
if (fseek(file, 0, SEEK_SET) != 0) {
printf("fseek error\n");
return NULL;
}
//分配内存
char* file_buffer = (char*)malloc(size+1);
if (file_buffer == NULL) {
printf("内存分配失败\n");
return NULL;
}
if (fread(file_buffer, size, 1, file) == 0) {
printf("读取文件错误\n");
return NULL;
}
file_buffer[size] = '\0'; //为了更加的安全
fclose(file);
// printf("%s\n", file_buffer);
return file_buffer;
}