用C++分装一个文件读写函数
时间: 2024-05-06 07:20:24 浏览: 97
以下是一个简单的文件读写函数的封装示例,它可以打开、读取和关闭文件。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_BUFFER_SIZE 1024
int file_read(const char* filename, char* buffer, int buffer_size) {
FILE* fp = fopen(filename, "r");
if (fp == NULL) {
return -1;
}
int read_size = fread(buffer, 1, buffer_size - 1, fp);
buffer[read_size] = '\0';
fclose(fp);
return read_size;
}
int file_write(const char* filename, const char* content) {
FILE* fp = fopen(filename, "w");
if (fp == NULL) {
return -1;
}
int write_size = fputs(content, fp);
fclose(fp);
return write_size;
}
int main() {
char buffer[MAX_BUFFER_SIZE] = {0};
// 读取文件
int read_size = file_read("example.txt", buffer, MAX_BUFFER_SIZE);
if (read_size < 0) {
printf("读取文件失败\n");
return -1;
}
printf("读取文件内容:%s\n", buffer);
// 写入文件
int write_size = file_write("example.txt", "Hello World!");
if (write_size < 0) {
printf("写入文件失败\n");
return -1;
}
printf("写入文件成功\n");
return 0;
}
```
在这个示例中,`file_read` 函数接受一个文件名、一个缓冲区和一个缓冲区大小作为参数,并返回实际读取的字节数。如果文件无法打开,则返回 -1。
`file_write` 函数接受一个文件名和要写入文件的字符串作为参数,并返回写入的字节数。如果文件无法打开,则返回 -1。
在 `main` 函数中,我们使用这两个函数读取和写入文件。注意,我们在缓冲区中添加了一个空字符,以确保读取的字符串以空字符结尾。
阅读全文