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

如何建立公司网站模块建设银行采购网站

如何建立公司网站模块,建设银行采购网站,新公司注册网站,网站内容建设规划文章目录 一、实用工具类模块(一)功能 二、设计和封装(一)日志宏封装(二)mysql_util封装(三)Jsoncpp-API封装(四)file_util封装(五)st…

文章目录

  • 一、实用工具类模块
    • (一)功能
  • 二、设计和封装
    • (一)日志宏封装
    • (二)mysql_util封装
    • (三)Jsoncpp-API封装
    • (四)file_util封装
    • (五)string_util封装

一、实用工具类模块

在这里插入图片描述

(一)功能

实用工具类模块主要是负责提前实现一些项目中会用到的边缘功能代码,提前实现好了就可以在项目中用到的时候直接使用了。

二、设计和封装

(一)日志宏封装

#ifndef __M_LOGGER_H__
#define __M_LOGGER_H__
#include <stdio.h>
#include <time.h>#define INF 0
#define DBG 1
#define ERR 2
#define DEFAULT_LOG_LEVEL INF
#define LOG(level, format, ...) do{\if (DEFAULT_LOG_LEVEL > level) break;\time_t t = time(NULL);\struct tm *lt = localtime(&t);\char buf[32] = {0};\strftime(buf, 31, "%H:%M:%S", lt);\fprintf(stdout, "[%s %s:%d] " format "\n", buf, __FILE__, __LINE__, ##__VA_ARGS__);\
}while(0)
#define ILOG(format, ...) LOG(INF, format, ##__VA_ARGS__)
#define DLOG(format, ...) LOG(DBG, format, ##__VA_ARGS__)
#define ELOG(format, ...) LOG(ERR, format, ##__VA_ARGS__)#endif

(二)mysql_util封装

class mysql_util {public:static MYSQL *mysql_create(const std::string &host,const std::string &username,const std::string &password,const std::string &dbname,uint16_t port = 3306) {MYSQL *mysql = mysql_init(NULL);if (mysql == NULL) {ELOG("mysql init failed!");return NULL;}//2. 连接服务器if (mysql_real_connect(mysql, host.c_str(), username.c_str(), password.c_str(), dbname.c_str(), port, NULL, 0) == NULL) {ELOG("connect mysql server failed : %s", mysql_error(mysql));mysql_close(mysql);return NULL;}//3. 设置客户端字符集if (mysql_set_character_set(mysql, "utf8") != 0) {ELOG("set client character failed : %s", mysql_error(mysql));mysql_close(mysql);return NULL;}return mysql;}static bool mysql_exec(MYSQL *mysql, const std::string &sql) {int ret = mysql_query(mysql, sql.c_str());if (ret != 0) {ELOG("%s\n", sql.c_str());ELOG("mysql query failed : %s\n", mysql_error(mysql));return false;}return true;}static void mysql_destroy(MYSQL *mysql) {if (mysql != NULL) {mysql_close(mysql);}return ;}
};

(三)Jsoncpp-API封装

class json_util{public:static bool serialize(const Json::Value &root, std::string &str) {Json::StreamWriterBuilder swb;std::unique_ptr<Json::StreamWriter>sw(swb.newStreamWriter());std::stringstream ss;int ret = sw->write(root, &ss);if (ret != 0) {ELOG("json serialize failed!!");return false;}str = ss.str();return true;}static bool unserialize(const std::string &str, Json::Value &root) {Json::CharReaderBuilder crb;std::unique_ptr<Json::CharReader> cr(crb.newCharReader());std::string err;bool ret = cr->parse(str.c_str(), str.c_str() + str.size(), &root, &err);if (ret == false) {ELOG("json unserialize failed: %s", err.c_str());return false;}return true;}
};

(四)file_util封装

class file_util {public:static bool read(const std::string &filename, std::string &body) {//打开文件std::ifstream ifs(filename, std::ios::binary);if (ifs.is_open() == false) {ELOG("%s file open failed!!", filename.c_str());return false;}//获取文件大小size_t fsize = 0;ifs.seekg(0, std::ios::end);fsize = ifs.tellg();ifs.seekg(0, std::ios::beg);body.resize(fsize);//将文件所有数据读取出来ifs.read(&body[0], fsize);if (ifs.good() == false) {ELOG("read %s file content failed!", filename.c_str());ifs.close();return false;}//关闭文件ifs.close();return true;}
};

(五)string_util封装

class string_util{public:static int split(const std::string &src, const std::string &sep, std::vector<std::string> &res) {// 123,234,,,,345size_t pos, idx = 0;while(idx < src.size()) {pos = src.find(sep, idx);if (pos == std::string::npos) {//没有找到,字符串中没有间隔字符了,则跳出循环res.push_back(src.substr(idx));break;}if (pos == idx) {idx += sep.size();continue;}res.push_back(src.substr(idx, pos - idx));idx = pos + sep.size();}return res.size();}
};
http://www.hyszgw.com/news/44263.html

相关文章:

  • 网站正在维护模板做网站空间费用是什么意思
  • 门户网站系统开发两学一做注册网站
  • 加强门户网站建设 信息公开企业管理咨询自考
  • 公司网站怎么做关键词广告软文营销平台
  • 简历做的很棒的网站长沙百度优化
  • 创新型的顺的网站制作西安牛二网络科技有限公司
  • 做网站的公司怎么做抖音账号大兴做网站公司
  • 企业网站搭建教程企业管理软件公司
  • 企业网站特色建设学网站开发
  • 版面设计网站有哪些seo 新老网站替换 域名不变
  • 如何判断网站有cdn加速网站版权 备案icp
  • 站酷设计网页版网站建设淘宝客模板下载
  • 广西建设部网站wordpress前端怎么写
  • 学校网站建设背景天猫购买商城
  • 做百度手机网站优化云南企业
  • 宁波seo网站推广软件开江网站建设
  • 衡南网站建设各地平台网站
  • 上海网站建设推荐西安企业黄页网站
  • 网站与经营网站玉树电子商务网站建设
  • 江门网站制作专业3g版和wap网站
  • 网站加载进度条聊城经济开发区人才网
  • 网站名字怎样做版权手把手网站开发
  • 做外贸如何分析客户网站用别的公司域名做网站
  • 龙岗专业网站建设太原网站建设地图
  • 中国建设部官方网站资格证查询网站建设的摘要
  • 需要网站建设的人多吗长沙如何做网站
  • 建立网站 wordpress免费做房产网站
  • 网站开发行业怎么样用h5做网站首页代码
  • 贵阳制作网站dede还是wordpress
  • 如何做网站demo福州金山网站建设