00001 
00004 #ifndef FBXFILESDK_COMPONENTS_KBASELIB_KLIB_T_STR_WIN32_H
00005 #define FBXFILESDK_COMPONENTS_KBASELIB_KLIB_T_STR_WIN32_H
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00043 
00044 #ifdef K_UNICODE
00045 
00046     #include <wchar.h>
00047     #include <stdlib.h>
00048     #include <stdarg.h>
00049     #include <io.h>
00050 
00051     #define t_strcpy   wcscpy
00052     #define t_strncpy  wcsncpy
00053     #define t_strcat   wcscat
00054     #define t_strcmp   wcscmp
00055     #define t_stricmp  wcsicmp
00056     #define t_strncmp  wcsncmp
00057     #define t_strnicmp wcsnicmp
00058     #define t_strlen   wcslen
00059     #define t_strchr   wcschr
00060     #define t_strrchr  wcsrchr
00061     #define t_strstr   wcsstr
00062     #define t_strtok   wcstok
00063 
00064     #define t_printf   wprintf
00065     #define t_sprintf  swprintf
00066     #define t_fprintf  fwprintf
00067     #define t_vsprintf vswprintf
00068     #define t_vprintf  vwprintf
00069 
00070     #define t_scanf    wscanf
00071     #define t_sscanf   swscanf
00072     #define t_fscanf   fwscanf
00073 
00074     #define t_toupper  towupper
00075     #define t_tolower  towlower
00076 
00077     #define t_atoi     _wtoi
00078     #define t_atol     _wtol
00079     inline double t_atof( kWChar* pStr )  
00080     {
00081         char lStr[1024];
00082         wcstombs( lStr, pStr, 1024 );
00083         return atof( lStr );
00084     }
00085     #define t_itoa     _itow
00086 
00087     #define t_isalnum  iswalnum
00088     #define t_isalpha  iswalpha
00089     #define t_isdigit  iswdigit
00090     #define t_isspace  iswspace
00091 
00092     #define t_fopen    _wfopen
00093     #define t_remove   _wremove
00094     #define t_rename   _wrename
00095     #define t_getcwd   _wgetcwd
00096 
00097     #define t_fgets    fgetws
00098     #define t_fputs    fputws
00099     #define t_fputc    fputwc
00100 
00101     #define t_ftruncate _chsize
00102     #define t_fileno    _fileno
00103 
00104     #define t_getenv   _wgetenv
00105 
00106     
00107     #define t_fullpath  _wfullpath
00108     #define t_splitpath _wsplitpath
00109     #define t_makepath  _wmakepath
00110     #define t_access    _waccess
00111     #define t_mkdir     _wmkdir
00112     #define t_stat      _wstat
00113     #define t_stat64    _wstati64
00114     #define t_spawnv    _wspawnv
00115     #define t_strlwr    _wcslwr
00116     #define t_ctime     _wctime  // Not ANSI.
00117 
00118 #else  // K_UNICODE
00119 
00120     #include <string.h>
00121     #include <stdlib.h>
00122     #include <stdio.h>
00123     #include <ctype.h>
00124     #include <io.h>
00125 
00126     #define t_strcpy   strcpy
00127     #define t_strncpy  strncpy
00128     #define t_strcat   strcat
00129     #define t_strcmp   strcmp
00130     #define t_stricmp  stricmp
00131     #define t_strncmp  strncmp
00132     #define t_strnicmp strnicmp
00133     #define t_strlen   strlen
00134     #define t_strchr   strchr
00135     #define t_strrchr  strrchr
00136     #define t_strstr   strstr
00137     #define t_strtok   strtok
00138 
00139     #define t_printf   printf
00140     #define t_sprintf  sprintf
00141     #define t_fprintf  fprintf
00142     #define t_vsprintf vsprintf
00143     #define t_vprintf  vprintf
00144 
00145     #define t_scanf    scanf
00146     #define t_sscanf   sscanf
00147     #define t_fscanf   fscanf
00148 
00149     #define t_toupper  toupper
00150     #define t_tolower  tolower
00151 
00152     #define t_atoi     atoi
00153     #define t_atol     atol
00154     #define t_atof     atof
00155     #define t_itoa     itoa
00156 
00157     #define t_isalnum  isalnum
00158     #define t_isalpha  isalpha
00159     #define t_isdigit  isdigit
00160     #define t_isspace  isspace
00161 
00162     #define t_fopen    fopen
00163     #define t_remove   remove
00164     #define t_rename   rename
00165     #define t_getcwd   getcwd
00166 
00167     #define t_fgets    fgets
00168     #define t_fputs    fputs
00169     #define t_fputc    fputc
00170 
00171     #define t_ftruncate _chsize
00172     #define t_fileno    _fileno
00173 
00174     #define t_getenv   getenv
00175 
00176     
00177     #define t_fullpath  _fullpath
00178     #define t_splitpath _splitpath
00179     #define t_makepath  _makepath
00180     #define t_access    _access
00181     #define t_mkdir     _mkdir
00182     #define t_stat      _stat
00183     #define t_stat64    _stati64
00184     #define t_spawnv    _spawnv
00185     #define t_strlwr    _strlwr
00186     #define t_ctime     ctime  // ANSI, but the wide version is WIN only.
00187 
00188 #endif // K_UNICODE
00189 
00190 #endif // FBXFILESDK_COMPONENTS_KBASELIB_KLIB_T_STR_WIN32_H
00191