C语言如何获取文件的大小?文本读取和随机读取的区别
时间: 2024-04-30 22:20:46 浏览: 13
在C语言中,可以使用标准库函数`fseek()`和`ftell()`来获取文件的大小,具体步骤如下:
1. 打开文件,并将文件指针移到文件末尾。
2. 使用`ftell()`函数获取文件指针当前的位置,即文件大小。
3. 关闭文件。
下面是示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
long size;
// 打开文件
fp = fopen("example.txt", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 将文件指针移到文件末尾
fseek(fp, 0L, SEEK_END);
// 获取文件大小
size = ftell(fp);
printf("File size: %ld bytes.\n", size);
// 关闭文件
fclose(fp);
return 0;
}
```
文本读取和随机读取的区别在于读取方式的不同。
文本读取是按照文件的字符顺序一个一个地读取文件内容,可以使用标准库函数`fgetc()`或`fgets()`等函数逐行或逐个字符地读取文件内容。
随机读取是根据文件中的位置来读取文件内容,可以使用标准库函数`fseek()`和`fread()`等函数自由地读取文件内容。随机读取通常适用于二进制文件等,而对于文本文件,由于其按照行读取的特性,随机读取会破坏文件的行结构,因此一般不建议使用随机读取。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)