用C语言写一个函数读取文件把文件内容返回去
时间: 2024-12-23 20:14:59 浏览: 4
c语言中怎样把文本文件中的一列数导入程序中
5星 · 资源好评率100%
在C语言中,你可以使用`fopen()`、`fread()`和`fclose()`等标准库函数来实现读取文件并将其内容作为字符串返回的功能。以下是一个简单的示例,这个函数假设文件路径存在且可以成功打开:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc函数用于动态内存分配
// 函数原型声明
char* read_file(const char* filename);
// 实现函数
char* read_file(const char* filename) {
FILE* file = fopen(filename, "r"); // 打开文件,模式"r"表示只读
if (file == NULL) { // 检查文件是否打开成功
perror("Failed to open file");
return NULL;
}
// 计算文件大小
fseek(file, 0, SEEK_END);
long size = ftell(file);
rewind(file); // 将指针移动到文件开头
// 动态分配内存存储文件内容
char* content = (char*)malloc(size + 1); // 加1是因为需要存放'\0'
if (content == NULL) {
perror("Memory allocation failed");
fclose(file);
return NULL;
}
// 读取文件内容
fread(content, sizeof(char), size, file);
// 文件结尾添加空字符
content[size] = '\0';
fclose(file); // 关闭文件
return content; // 返回文件内容指针
}
阅读全文