首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

日志函数写入数值有关问题

2012-09-14 
日志函数写入数值问题我写了一个日志函数,但是现在只能将字符写入到日志文件中,怎么修改能将传递的数值和

日志函数写入数值问题
我写了一个日志函数,但是现在只能将字符写入到日志文件中,怎么修改能将传递的数值和字符都写入到日志函数中? 
#include <time.h>
 #include <stdio.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include "include.h"
 
 int publog(int iLevel, char* psStr, ...)
 {
 time_t nTime;
  struct tm *sttmDateTime;
  char sDateTime[6][16];
  FILE *pfile = NULL;
  char sBuffer[512];
 
  va_list args;
  va_start(args, psStr);
  vsprintf(sBuffer,psStr,args);
  va_end( args );
  

char *pcSetlevel; 
  int iSetlevel;
 pcSetlevel = pubetc("LEVEL");
 iSetlevel = atoi(pcSetlevel);
 
 if(iSetlevel > iLevel)
 {
 return 0;
 }
 
  time (&nTime);
  sttmDateTime = (struct tm*) localtime(&nTime);
  pfile = fopen ("/home/swhx/socket/log/publog.log", "a+");
  if (!pfile)
 {
 printf("日志打开失败\n");
 return 0;
 }
  strftime (sDateTime[0], 16, "%m", sttmDateTime);
  strftime (sDateTime[1], 16, "%d", sttmDateTime);
  strftime (sDateTime[2], 16, "%Y", sttmDateTime);
  strftime (sDateTime[3], 16, "%H", sttmDateTime);
  strftime (sDateTime[4], 16, "%M", sttmDateTime);
  strftime (sDateTime[5], 16, "%S", sttmDateTime);
 
  fprintf (pfile, "[%s/%s/%s %s:%s:%s]", sDateTime[2],sDateTime[0] ,sDateTime[1] , sDateTime[3], sDateTime[4], sDateTime[5]);
 
  fprintf(pfile, "%s\n", sBuffer);
 
   
   
  fclose(pfile);
 
  return 0;
 
 }
 

[解决办法]

C/C++ code
va_list args;    va_start(args, psStr);    vsprintf(sBuffer, psStr, args);    va_end( args ); 

热点排行