C++ fstream 二进制读写文件 (一个文件备份的例子)
直接上代码:
#include <iostream> #include <string> #include <vector> #include <fstream> bool ReadFile(std::string& strFile, std::vector<char>& buffer) { std::ifstream infile(strFile.c_str(), std::ifstream::binary); if (!infile.is_open()) { printf("Read File:%s Error ... \n", strFile.c_str()); return false; } // 获取文件大小 infile.seekg(0, std::ifstream::end); long size = infile.tellg(); infile.seekg(0); buffer.resize(size); printf("文件:[%s] 共有:%ld(字节) ..... \n", strFile.c_str(), size); // read content of infile infile.read(&buffer[0], size); infile.close(); return true; } bool WriteFile(std::string& strFile, std::vector<char>& buffer) { std::ofstream outfile(strFile.c_str(), std::ifstream::binary); if (!outfile.is_open()) { printf("Write File:%s Error ... \n", strFile.c_str()); return false; } outfile.write(&buffer[0], buffer.size()); outfile.close(); return true; } void test1126_222() { std::string oldFile = "test.txt"; std::vector<char> buffer; if (ReadFile(oldFile, buffer)) { std::string newFile("test_new.txt"); if (WriteFile(newFile, buffer)) { printf("备份文件 %s --> %s 成功 ... \n", oldFile.c_str(), newFile.c_str()); } } } int main() { test1126_222(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-11-26 《Linux命令行与shell脚本编程大全》第十四章 处理用户输入
2015-11-26 基于int的Linux的经典系统调用实现