当前位置: 首页 > wzjs >正文

门户网站建设方案模板百度网站优化软件

门户网站建设方案模板,百度网站优化软件,微信微博网站建设意见书,wordpress标签页无效链接文件操作助手 在我们实现一个大型项目时,往往会有一个公共模块,这个公共模块是公用的,里面可能会包含文件操作助手、字符串操作助手、时间戳操作助手… 而我们今天就来实现一个文件操作助手,里面包含的功能有: 判断…

文件操作助手

在我们实现一个大型项目时,往往会有一个公共模块,这个公共模块是公用的,里面可能会包含文件操作助手、字符串操作助手、时间戳操作助手…

而我们今天就来实现一个文件操作助手,里面包含的功能有:

  • 判断文件是否存在
  • 获取文件大小
  • 读文件
  • 写文件
  • 重命名
  • 创建文件
  • 删除文件
  • 创建文件夹
  • 删除文件夹
class FileHelper
{public:FileHelper(const std::string& filename):_filename(filename){}bool exists(){struct stat st;return (stat(_filename.c_str(),&st) == 0);}size_t size(){struct stat st;int ret = stat(_filename.c_str(),&st);if(ret < 0)return ret;return st.st_size;}bool read(char* body,size_t offset,size_t len){//打开文件std::ifstream in(_filename,std::ios::binary | std::ios::in);if(!in.is_open()){ELOG("%s 打开文件失败!",_filename.c_str());return false;}//跳转到读取位置in.seekg(offset,std::ios::beg);//读取数据in.read(body,len);if(in.good() == false){ELOG("%s 读取文件失败!",_filename.c_str());in.close();return false;}in.close();return true;//关闭文件}bool read(std::string& body){size_t fsize = this->size();body.resize(fsize);return read(&body[0],0,fsize);}bool write(const char *body,size_t offset,size_t len){//打开文件std::fstream fs(_filename,std::ios::binary | std::ios::in | std::ios::out);if(!fs.is_open()){ELOG("%s 打开文件失败!",_filename.c_str());return false;}//跳转到读取位置fs.seekp(offset,std::ios::beg);//读取数据fs.write(body,len);if(fs.good() == false){ELOG("%s 读取文件失败!",_filename.c_str());fs.close();return false;} fs.close();return true;//关闭文件}bool write(const std::string& body){return write(body.c_str(),0,body.size());}static std::string parentDirectory(const std::string& filename){size_t pos = filename.find_last_of('/');if(pos == std::string::npos)return ".";return filename.substr(0,pos);}bool rename(const std::string& newname){return (::rename(_filename.c_str(),newname.c_str()) == 0);}static bool createFile(const std::string &filename) {std::fstream ofs(filename, std::ios::binary | std::ios::out); if (ofs.is_open() == false) {ELOG("%s 文件打开失败!", filename.c_str());return false;}ofs.close();return true;}static bool removeFile(const std::string &filename) {return (::remove(filename.c_str()) == 0);}static bool createDirectory(const std::string &path) {//  aaa/bbb/ccc    cccc// 在多级路径创建中,我们需要从第一个父级目录开始创建size_t pos, idx = 0;while(idx < path.size()) {pos = path.find("/", idx);if (pos == std::string::npos) {return (mkdir(path.c_str(), 0775) == 0);}std::string subpath = path.substr(0, pos);int ret = mkdir(subpath.c_str(), 0775);if (ret != 0 && errno != EEXIST) {ELOG("创建目录 %s 失败: %s", subpath.c_str(), strerror(errno));return false;}idx = pos + 1;}return true;}static bool removeDirectory(const std::string &path) {// rm -rf path// system()std::string cmd = "rm -rf " + path;return (system(cmd.c_str()) != -1);}private:std::string _filename;
};
http://www.dtcms.com/wzjs/175343.html

相关文章:

  • 商城网站 个人备案营销推广的主要方式
  • 2万块建一个网站贵吗sem是什么意思
  • wordpress如何绑定多个域名seo建站优化
  • ipad做电影网站seo排名关键词点击
  • wordpress作者关注功能怎么实现什么是seo技术
  • 婚纱网网站建设目的及功能定位搜狗seo排名软件
  • 团结湖网站建设网络营销的现状
  • 第三方做公司网站免费二级域名分发网站源码
  • 南宁网站建设超博网络网站建设公司排名
  • 最新被百度收录的网站百度一下你就知道官网网址
  • 淘宝上做网站 源代码怎么给你win优化大师有用吗
  • 望牛墩东莞网站建设百度如何免费推广
  • 重庆哪里可以做网站永州网站seo
  • 网站开发 哪个工具更快大数据查询个人信息
  • 用laravel做的网站如何创建个人网站免费
  • 线上平面设计培训班网站seo优化方案项目策划书
  • 大连网站设计九首选仟亿科技营销策划经典案例
  • 网站百度收录秒收方法网站优化推广费用
  • 如何用七牛云做视频网站百度收录好的免费网站
  • 网站建设费用申请ip域名查询网
  • 日本做爰漫画网站百度收录网站入口
  • 买了阿里云怎么做网站柳州网站建设
  • 网站建设403网页设计教程
  • 安阳哪里做360网站网络策划与营销
  • 产品外观设计流程百度移动排名优化软件
  • 大神做的动漫网站怎么发帖子做推广
  • 机械加工订单平台重庆网站seo建设哪家好
  • 哪里做网站靠谱网络营销渠道可分为
  • 江阴网站开发公司电话做网站的软件
  • 长垣县建站塔山双喜淘宝怎么设置关键词搜索