温馨提示×

C语言中怎么使用fread读取文件里所有内容

小亿
256
2023-08-09 00:46:27
栏目: 编程语言

在C语言中,可以使用fread函数来读取文件中的所有内容。以下是一个简单的示例:

#include <stdio.h>
int main() {
FILE* file = fopen("file.txt", "rb");  // 打开文件(以二进制模式读取)
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
fseek(file, 0, SEEK_END);  // 将文件指针移动到文件末尾
long file_size = ftell(file);  // 获取文件大小
fseek(file, 0, SEEK_SET);  // 将文件指针移动回文件开头
char* buffer = (char*)malloc(file_size + 1);  // 创建一个足够大的缓冲区来存储文件内容
fread(buffer, file_size, 1, file);  // 读取文件内容到缓冲区
buffer[file_size] = '\0';  // 添加字符串结束符
printf("%s", buffer);  // 打印文件内容
free(buffer);  // 释放缓冲区内存
fclose(file);  // 关闭文件
return 0;
}

在上面的示例中,首先使用fopen函数打开一个文件(本例中为file.txt),以二进制模式进行读取。然后使用fseek函数将文件指针移动到文件末尾,并使用ftell函数获取文件大小。然后再次使用fseek函数将文件指针移动回文件开头。接下来使用malloc函数动态分配一个足够大的缓冲区来存储文件内容,然后使用fread函数将文件内容读取到缓冲区中。最后添加一个字符串结束符,并打印文件内容。最后释放缓冲区内存,并使用fclose函数关闭文件。

0