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

重庆网站营销公司中国建设银行行网站

重庆网站营销公司,中国建设银行行网站,开发公司运营部职责,建设行业的门户网站此日志类,简单地实现了向标准输出控制台和文件输出日志信息的功能,并能在这两者之间进行切换输出,满足输出日志的不同需求。 代码如下: /** 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.yayakq.cn/news/994875/

相关文章:

  • 西安网站建站优化淄川区住房和城乡建设局网站
  • 单位的网站建设费会计处理不用开源做网站
  • 织梦单页面网站模板wordpress referer
  • 做网站站长交加盟费怎么做网站编程
  • 做的比较好的网页设计网站快站app制作教程
  • 佛山制作网站软件都匀网站建设
  • 网站建设 会计处理广州天河网站建设公司
  • 做试管的网站四川省建设工程招标网官网
  • 攀枝花网站建设公司化妆品网站的搭建
  • 编程猫的网站是什么搜索关键词优化排名
  • 网站开发交流群wordpress hacker主题
  • 空调维修网站模板seo如何去做优化
  • 能否提供代码 网站建设如何自己开网店的详细步骤
  • 网站开发的研究背景中国建设银行官网站
  • 微投票网站渠道网官网
  • 建立网站需要多少钱 索 圈湖南岚鸿国字型网站建设布局
  • 做底单的网站网站功能性介绍
  • 注册公司网上核名网站怀化市建设局招投标网站
  • 如何用word做网站地图优秀营销软文范例100字
  • 表格在网站后台是居中可到前台为什么不居中宁波网络推广团队
  • php网站广告管理系统开发助手app下载
  • 门头沟新乡网站建设网站建设和管理经验
  • 百度 网站 说明可以做推广的网站
  • 最好的网站建设免费的我想网
  • 网站建设与网页设计 视频建设银行购物网站
  • 六安做网站seowordpress调用评论代码
  • 海口网站开发公司有哪些建设工程类网站
  • 界面好看的网站网站开发工作怎么样
  • 电子商务网站建设投资预算理财网站建设方案书
  • 谷歌云做网站东莞seo外包推广