Files
geant4/source/analysis/g4tools/include/tools/snpf
T
2016-12-09 12:35:28 +01:00

39 lines
747 B
Plaintext

// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef tools_snpf
#define tools_snpf
#include <cstdarg>
#include <cstdio>
namespace tools {
inline int vsnpf(char* a_s,size_t a_n,const char* a_fmt,va_list args){
#ifdef _MSC_VER
#if _MSC_VER < 1900
unsigned int old = _set_output_format(_TWO_DIGIT_EXPONENT);
int status = _vsnprintf(a_s,a_n,a_fmt,args);
_set_output_format(old);
return status;
#else
return _vsnprintf(a_s,a_n,a_fmt,args);
#endif
#else
return ::vsnprintf(a_s,a_n,a_fmt,args);
#endif
}
inline int snpf(char* a_s,size_t a_n,const char* a_fmt,...){
va_list args;
va_start(args,a_fmt);
int n = vsnpf(a_s,a_n,a_fmt,args);
va_end(args);
return n;
}
}
#endif