摘要:本文主要向大家介绍了 C/C++知识点之c++相关函数实现,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了 C/C++知识点之c++相关函数实现,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
日志打印
namespace fun{
extern std::string GetProgramDir();
extern std::string GetProgramName();
extern int write_log(const char *format, ...);
}
namespace fun{
int write_log(const char *format, ...)
{
std::string log_name = GetProgramDir() + '\\' + GetProgramName() + ".log";
FILE* pFile = fopen(log_name.c_str(), "a");
va_list arg;
int done;
va_start(arg, format);
time_t time_log = time(NULL);//#include <time.h>
struct tm* tm_log = localtime(&time_log);
fprintf(pFile, "%04d-%02d-%02d %02d:%02d:%02d ", tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday, tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);
done = vfprintf(pFile, format, arg);
va_end(arg);
fflush(pFile);
fclose(pFile);
return done;
}
}
std::string GetProgramDir()
{
std::string program_file_name;
char the_filename[MAX_PATH]; //#include <Windows.h>
DWORD length = ::GetModuleFileName(nullptr, the_filename, MAX_PATH);
if (length > 0 && length < MAX_PATH)
{
program_file_name = the_filename;
}
int pos = program_file_name.find_last_of('\\', program_file_name.length());
return program_file_name.substr(0, pos); // Return the directory without the file name
}
std::string GetProgramName()
{
std::string program_file_name;
char the_filename[MAX_PATH];
DWORD length = ::GetModuleFileName(nullptr, the_filename, MAX_PATH);
if (length > 0 && length < MAX_PATH)
{
program_file_name = the_filename;
}
int pos1 = program_file_name.find_last_of('\\', program_file_name.length());
int pos2 = program_file_name.find_last_of('.', program_file_name.length());
int len = pos2 - pos1 - 1;
return program_file_name.substr(pos1 + 1, len); // Return the directory without the file name
}
用法:
extern int fun::write_log(const char *format, ...);
fun::write_log("驱动注入失败 \n");
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号