#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *file;
char *buffer;
long file_size;
int header_size = 100; // 指定要拷贝的文件头部大小
// 打开文件
file = fopen("filename.txt", "rb");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 定位文件末尾并获取文件大小
fseek(file, 0, SEEK_END);
file_size = ftell(file);
// 检查文件大小是否大于指定的头部大小
if (file_size < header_size) {
printf("文件大小不满足要求!\n");
fclose(file);
return 1;
}
// 将文件指针重新定位到文件开头
rewind(file);
// 分配足够大小的内存来存储文件头部内容
buffer = (char *)malloc(header_size);
if (buffer == NULL) {
printf("内存分配失败!\n");
fclose(file);
return 1;
}
// 将文件头部内容读取到内存中
fread(buffer, 1, header_size, file);
// 关闭文件
fclose(file);
// 打印读取到的文件头部内容
printf("文件头部内容:\n");
for (int i = 0; i < header_size; i++) {
printf("%c", buffer[i]);
}
printf("\n");
// 释放内存
free(buffer);
return 0;
}