c 语言一次性读完整个文件
时间: 2023-10-27 16:07:09 浏览: 82
是可以的,可以使用 `fread` 函数一次性读取整个文件。示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE* fp;
fp = fopen("file.txt", "rb"); // 以二进制方式打开文件
if (fp == NULL) {
printf("Failed to open file!");
return 1;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
rewind(fp);
// 为文件内容分配内存
char* buffer = (char*) malloc(size + 1);
if (buffer == NULL) {
printf("Failed to allocate memory!");
fclose(fp);
return 1;
}
// 读取文件内容
fread(buffer, size, 1, fp);
fclose(fp);
// 打印文件内容
printf("%s", buffer);
// 释放内存
free(buffer);
return 0;
}
```
注意,这种方式只适用于文件比较小的情况,否则会占用过多的内存。对于大文件,最好采用分段读取的方式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![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)