c语言中获取文件长度并读取文件
时间: 2023-08-24 11:13:32 浏览: 215
在C语言中获取文件长度并读取文件,可以使用以下步骤:
1. 打开文件:使用fopen()函数打开文件,并返回文件指针。
2. 定位到文件末尾:使用fseek()函数将文件指针移动到文件末尾,以便获取文件长度。
3. 获取文件长度:使用ftell()函数获取文件指针的当前位置,即文件长度。
4. 将文件指针移回文件开头:使用rewind()函数将文件指针移回文件开头。
5. 读取文件内容:使用fread()函数读取文件内容,并将其存储到一个缓冲区中。
6. 关闭文件:使用fclose()函数关闭文件。
下面是一个示例代码,演示了如何获取文件长度并读取文件:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
long file_len;
char *buffer;
// 打开文件
fp = fopen("test.txt", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
// 定位到文件末尾,获取文件长度
fseek(fp, 0, SEEK_END);
file_len = ftell(fp);
// 将文件指针移回文件开头
rewind(fp);
// 分配缓冲区
buffer = (char*) malloc(file_len + 1);
if (buffer == NULL) {
printf("Failed to allocate memory.\n");
exit(1);
}
// 读取文件内容到缓冲区中
fread(buffer, file_len, 1, fp);
buffer[file_len] = '\0';
// 输出文件内容
printf("%s", buffer);
// 关闭文件
fclose(fp);
return 0;
}
```
注意,上述代码中的文件打开模式为"rb",表示以二进制模式打开文件。如果要以文本模式打开文件,则应该使用"r"模式。
阅读全文