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

做网站要的软件百度一下首页百度一下

做网站要的软件,百度一下首页百度一下,静安免费网站制作,wordpress 子分类文章此日志类,简单地实现了向标准输出控制台和文件输出日志信息的功能,并能在这两者之间进行切换输出,满足输出日志的不同需求。 代码如下: /** CCLog.h* c_common_codes** Created by xichen on 12-1-12.* Copyright 2012 cc_te…

此日志类,简单地实现了向标准输出控制台和文件输出日志信息的功能,并能在这两者之间进行切换输出,满足输出日志的不同需求。

代码如下:

/**  CCLog.h*  c++_common_codes**  Created by xichen on 12-1-12.*  Copyright 2012 cc_team. All rights reserved.*
*/
#ifndef CC_LOG_H
#define CC_LOG_H#include "ccString.h"
#include <cstdio>typedef enum _LOG_TYPE
{LOG_TYPE_CONSOLE,LOG_TYPE_FILE,LOG_TYPE_MAX
}LOG_TYPE;class CCLog
{
public:CCLog(const char * fileName = NULL, const char * mode = "at+");    // by default, open file by "at+" mode~CCLog();public:unsigned	write(const CCString & str);unsigned	writeEndl();void	clearAllData();	    // if a file is opened, all contents of the file will be cleared, the file will be opened a second time.public:void	setWriteToConsole();void	setWriteToFile();public:LOG_TYPE	getLogType() const { return _logType; }CCString	getLogFileName() const { return _fileName; }private:    void	clearConsole()	    // not coding ok{}private:CCLog(const CCLog & log);CCLog & operator=(const CCLog & log);private:FILE	*_file;FILE	*_backupFile;CCString	_fileName;LOG_TYPE	_logType;
};#endif

/**  CCLog.cpp*  c++_common_codes**  Created by xichen on 12-1-12.*  Copyright 2012 cc_team. All rights reserved.*
*/
#include "ccLog.h"CCLog::CCLog( const char * fileName /*= NULL*/, const char * mode /*= "at+"*/ )
{if(fileName == NULL){_file = _backupFile = NULL;_logType = LOG_TYPE_CONSOLE;return;}_logType = LOG_TYPE_FILE;_file = fopen(fileName, mode);_backupFile = _file;if(_file == NULL)std::cerr << "Open file error" << std::endl;else_fileName = CCString(fileName);
}CCLog::~CCLog()
{if(_logType == LOG_TYPE_FILE){if(_file != NULL){fclose(_file);return;}if(_backupFile != NULL){fclose(_backupFile);}}
}unsigned CCLog::write( const CCString & str )
{if(_logType == LOG_TYPE_CONSOLE){std::cout << str;return str.length();	// it's not accurate. ????}fseek(_file, 0, SEEK_END);return fwrite(str.c_str(), str.length(), 1, _file);
}unsigned CCLog::writeEndl()
{return write(CCString("\n"));
}void CCLog::clearAllData()
{if(_logType == LOG_TYPE_CONSOLE)return;if(_backupFile != NULL)_file = _backupFile;fclose(_file);_file = fopen(CCString(_fileName), "wt+");	    // clear all the data of file_backupFile = _file;if(_file == NULL)std::cerr << "clearAllData:Open file error" << std::endl;
}void CCLog::setWriteToConsole()
{_logType = LOG_TYPE_CONSOLE;
}void CCLog::setWriteToFile()
{_logType = LOG_TYPE_FILE;
}


简单地测试代码如下:

void ccTestLog()
{
#if 1	    // CCLogCCLog * log = new CCLog(NULL);log->write("hello");log->write("\t1\n");log->write("\txichen\n");delete log;log = new CCLog("d:\\test\\logtest.txt");log->write("ab\t\n1");delete log;log = new CCLog("d:\\test\\logtest.txt");log->write("xiche\t123");log->clearAllData();log->write("after clear");log->setWriteToConsole();log->write("the console info");log->setWriteToFile();log->write("the file content");log->writeEndl();log->write("the next line\nhehe");delete log;
#endif
}


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

http://www.dinnco.com/news/76055.html

相关文章:

  • 深圳市国外网站建设服务机构无锡优化网站排名
  • 做钓鱼网站犯法吗郑州做网站推广哪家好
  • WordPress的博客添加按钮seo运营经理
  • 浙江 网站备案南城网站优化公司
  • vue做单页面网站西安seo托管
  • 山东临沂网站设计公司网络营销的推广方式
  • b2c电子商务网站系统分析百度推广怎么添加关键词
  • 品牌网站定制学电子商务出来能干嘛
  • 营销型网站建设广告语北京刚刚宣布比疫情更可怕的事情
  • dede 汽车网站李守洪排名大师怎么样
  • 有网页源码 怎么做网站艾瑞指数
  • 重庆建设施工安全管理网站奶茶软文案例300字
  • 什么样的公司专业做网站的线上宣传渠道有哪些
  • 网站备案 影响微信营销方案
  • 做网站怎么优化google关键词排名优化
  • 六安市建设局网站淘宝如何提升关键词排名
  • 安徽建设学校官方网站雅虎搜索
  • 做的网站如何防止怕爬虫工厂管理培训课程
  • 最新做网站技术收录好的网站
  • 动漫制作专业用手提电脑星链seo管理
  • 在家做网站网址外链平台
  • 个人网站名称有哪些推广资讯
  • 网站百度快照南昌seo排名收费
  • 纸业建站服务爱站网备案查询
  • 上海移动网站开发西安网站seo价格
  • 重庆市工信部网站优化设计五年级上册语文答案
  • 武汉网站优化的公司最近三天的新闻热点
  • 自己建网站多少钱seo优化博客
  • 高端建站模版海外营销推广
  • wap网站seo百度云登录入口