C++ 文件读写操作:fopen 函数详解
在 C++ 中,除了使用fstream库进行文件读写操作外,还可以使用 C 风格的文件操作函数,如fopen、fread、fwrite等。
下面是一个示例,展示如何使用fopen进行文件的读写操作:
#include <iostream>
#include <cstdio>
int main() {
// 文件写入操作
FILE* outFile = fopen("data.txt", "w"); // 打开名为"data.txt"的文件,以写入模式
if (outFile) {
const char* data = "Hello, World!";
fwrite(data, sizeof(char), strlen(data), outFile); // 向文件中写入数据
fclose(outFile); // 关闭文件流
}
else {
std::cout << "无法打开文件" << std::endl;
}
// 文件读取操作
FILE* inFile = fopen("data.txt", "r"); // 打开名为"data.txt"的文件,以读取模式
if (inFile) {
char buffer[100];
size_t bytesRead = fread(buffer, sizeof(char), sizeof(buffer), inFile); // 从文件中读取数据
buffer[bytesRead] = '\0'; // 添加字符串结束符
std::cout << buffer << std::endl; // 输出读取的数据
fclose(inFile); // 关闭文件流
}
else {
std::cout << "无法打开文件" << std::endl;
}
return 0;
}
在这个示例中,首先使用fopen函数打开一个文件。第一个参数是文件名,第二个参数是操作模式。对于写入操作,我们使用'w'模式打开文件,对于读取操作,我们使用'r'模式打开文件。
在写入操作中,我们使用fwrite函数将数据写入文件。第一个参数是要写入的数据的指针,第二个参数是每个元素的大小,第三个参数是要写入的元素数,第四个参数是文件指针。
在读取操作中,我们使用fread函数从文件中读取数据。第一个参数是存储读取数据的缓冲区的指针,第二个参数是每个元素的大小,第三个参数是要读取的元素数,第四个参数是文件指针。我们还将在缓冲区中添加一个字符串结束符,以确保输出正确的字符串。
最后,我们使用fclose函数关闭文件流。
请确保运行程序的目录中存在名为"data.txt"的文件,以便运行上述示例。如果文件不存在,程序将无法读取或写入文件。
原文地址: https://www.cveoy.top/t/topic/bPLt 著作权归作者所有。请勿转载和采集!