⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convert1.hh

📁 MySql C++ library
💻 HH
字号:
#ifndef __convert1_hh__
#define __convert1_hh__

using namespace std ;

#include <stdlib.h>

#include "defs.h"

template <class Type> class mysql_convert;

#define mysql__convert(TYPE, FUNC) \
  template <> \
  class mysql_convert<TYPE> { \
  private:\
    TYPE num;\
  public:\
    mysql_convert(const char* str, const char *& end) { \
      num = FUNC(str, const_cast<char **>(&end));}\
    operator TYPE () {return num;}\
  } \

//extern double strtod (const char *, char **);

mysql__convert(float, strtod);
mysql__convert(double, strtod);
//-----------------------------------------------------------------
#undef mysql__convert
#define mysql__convert(TYPE, FUNC) \
  template <> \
  class mysql_convert<TYPE> {\
  private:\
    TYPE num;\
  public:\
    mysql_convert(const char* str, const char *& end) { \
      num = FUNC(str, const_cast<char **>(&end),10);}\
    operator TYPE () {return num;}\
  }\

extern long strtol(const char *str, char **ptr, int base);
extern unsigned long strtoul(const char *str, char **ptr, int base);

mysql__convert(char, strtol);
mysql__convert(signed char, strtol);
mysql__convert(int, strtol);
mysql__convert(short int, strtol);
mysql__convert(long int, strtol);

mysql__convert(unsigned char, strtoul);
mysql__convert(unsigned int, strtoul);
mysql__convert(unsigned short int, strtoul);
mysql__convert(unsigned long int, strtoul);


#ifndef NO_LONG_LONGS
#ifdef strtoull
#undef strtoull
#endif
#ifdef strtoll
#undef strtoll
#endif
extern "C" {
extern char *longlong2str(longlong val,char *dst,int radix);
extern char *longlong10_to_str(longlong val,char *dst,int radix);
extern longlong strtoll(const char *nptr,char **endptr,int base);
extern ulonglong strtoull(const char *nptr,char **endptr,int base);
}
mysql__convert(longlong, strtoll);
mysql__convert(ulonglong, strtoull);

#endif

#endif



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -