当前位置: 技术问答>linux和unix
Linux无法生成文件的问题。。。。
来源: 互联网 发布时间:2017-03-05
本文导语: 做了一个跨平台的程序,windows下跑是没问题了,但是linux下无法创建Log文件,很蛋疼,找了半天没找到原因。。 int Loggers::open(void)//初始化创建新Log文档,用于本次运行时写入。 { char logbuf[30] ={0}; ...
做了一个跨平台的程序,windows下跑是没问题了,但是linux下无法创建Log文件,很蛋疼,找了半天没找到原因。。
int Loggers::open(void)//初始化创建新Log文档,用于本次运行时写入。
{
char logbuf[30] ={0};
//获取当前时间
time_t t_time=ACE_OS::time();//当前时间秒数。
tm*p_tm=ACE_OS::localtime(&t_time);// 定义一个时间结构,当前时间。
ACE_OS::strftime(logbuf,30,"%Y%m%d%H%M",p_tm);//年月日时分秒输出至logbuf。
std::string filena;
filena.assign(logbuf,strlen(logbuf));
filena += ".log";//形成文件名。
char buf[1024]={0};
sprintf(buf,"touch %s",filena.c_str());
ACE_OS::system(buf);
logfile.open(filena.c_str(),ios::in|ios::out|ios::app);//创建新log文档,以时间命名。
if (!logfile)
{
std::cout