c++ ofstream 和ifstream 读写二进制文件的简单操作

主要使用ofstream 和ifstream 的技术 纯c++实现

有时间感觉使用qt的文件操作没有c++的适用 特别是遇到中文或者\0 的特殊字符时 还是c++有效

void WriteFile(const string & sFilePath, const string & sContent)

{

ofstream out(sFilePath.c_str(), ios::binary);

if (out.is_open())

{

out.write(sContent.c_str(), sContent.size());

out.close();

}

return;

}

void ReadFile(const string & sFile, string & sContent)

{

ifstream in(sFile, ios::binary);

if (!in.is_open())

{

cout << "Error opening file"; exit(1);

}

in.seekg(0, ios::end);

int isize = in.tellg();

in.seekg(0, ios::beg);

unsigned char *pBuf = new unsigned char[isize];

in.read((char *)pBuf, isize);

copy(pBuf, pBuf + isize, back_inserter(sContent));

if (nullptr != pBuf)

{

delete [] pBuf;

pBuf = nullptr;

}

return;

}

相关推荐
Never_Satisfied5 分钟前
在c#中,Jint的AsString()和ToString()的区别
服务器·开发语言·c#
Never_Satisfied5 分钟前
在c#中,获取文件的大小
java·开发语言·c#
Never_Satisfied14 分钟前
在JavaScript / HTML中,触发某个对象的click事件
开发语言·javascript·html
lly20240615 分钟前
ionic 下拉刷新:实现与优化指南
开发语言
米羊12115 分钟前
Spring 框架漏洞
开发语言·python
键盘鼓手苏苏16 分钟前
Flutter for OpenHarmony:cider 自动化版本管理与变更日志生成器(发布流程标准化的瑞士军刀) 深度解析与鸿蒙适配指南
运维·开发语言·flutter·华为·rust·自动化·harmonyos
IT 行者19 分钟前
ZeroClaw:Rust 驱动的下一代 AI Agent 基础设施
开发语言·人工智能·rust
IT 行者20 分钟前
AI Agent 平台横评:ZeroClaw vs OpenClaw vs Nanobot
开发语言·人工智能·rust
BigNiu23 分钟前
rust里mut 和遮蔽之间的区别
开发语言·rust
许同25 分钟前
JS-WPS 自动化办公(5)多Sheet整合
开发语言·前端·javascript