FBX SDK Reference Guide: t-str-win32.h Source File
Go to the documentation of this file.
00001 
00004 #ifndef _FBXSDK_T_STR_WIN32_H_
00005 #define _FBXSDK_T_STR_WIN32_H_
00006 
00007 /**************************************************************************************
00008 
00009  Copyright © 2001 - 2008 Autodesk, Inc. and/or its licensors.
00010  All Rights Reserved.
00011 
00012  The coded instructions, statements, computer programs, and/or related material 
00013  (collectively the "Data") in these files contain unpublished information 
00014  proprietary to Autodesk, Inc. and/or its licensors, which is protected by 
00015  Canada and United States of America federal copyright law and by international 
00016  treaties. 
00017  
00018  The Data may not be disclosed or distributed to third parties, in whole or in
00019  part, without the prior written consent of Autodesk, Inc. ("Autodesk").
00020 
00021  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
00022  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
00023  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING
00024  BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 
00025  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 
00026  WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION
00027  OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 
00028  
00029  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
00030  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES
00031  OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER
00032  SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
00033  OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND),
00034  HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED
00035  FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE,
00036  ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
00037  WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS
00038  OR DAMAGE. 
00039 
00040 **************************************************************************************/
00041 
00042 #include <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 )  // There's no UNICODE version of atof.
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     // Win 32 only funcs
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     // Win 32 only funcs
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 // _FBXSDK_T_STR_WIN32_H_
00191