OpenBarnyard
 
Loading...
Searching...
No Matches
TStringManager.cpp
Go to the documentation of this file.
1#include "ToshiPCH.h"
2#include "TStringManager.h"
3#include <string>
4
5//-----------------------------------------------------------------------------
6// Enables memory debugging.
7// Note: Should be the last include!
8//-----------------------------------------------------------------------------
10
12
13TWCHAR* TStringManager::StringCharToUnicode( TWCHAR* a_UnicodeString, const TCHAR* a_CharString, TUINT32 a_iLength )
14{
15 TASSERT( ( a_UnicodeString != TNULL ) && ( a_CharString != TNULL ) );
16
17 auto iCharStringLength = String8Length( a_CharString );
18
19 if ( iCharStringLength < a_iLength || a_iLength == -1 )
20 a_iLength = iCharStringLength;
21
22 for ( TSIZE i = 0; i < a_iLength; i++ )
23 a_UnicodeString[ i ] = TWCHAR( a_CharString[ i ] );
24
25 a_UnicodeString[ a_iLength ] = L'\0';
26 return a_UnicodeString;
27}
28
29TCHAR* TStringManager::StringUnicodeToChar( TCHAR* a_CharString, const TWCHAR* const& a_UnicodeString, TUINT32 a_iLength )
30{
31 TASSERT( ( a_UnicodeString != TNULL ) && ( a_CharString != TNULL ) );
32
33 auto iUnicodeStringLength = String16Length( a_UnicodeString );
34
35 if ( iUnicodeStringLength < a_iLength || a_iLength == -1 )
36 a_iLength = iUnicodeStringLength;
37
38 for ( TSIZE i = 0; i < a_iLength; i++ )
39 a_CharString[ i ] = TCHAR( a_UnicodeString[ i ] );
40
41 a_CharString[ a_iLength ] = '\0';
42 return a_CharString;
43}
44
#define TASSERT(X,...)
Definition Defines.h:138
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
wchar_t TWCHAR
Definition Typedefs.h:21
size_t TSIZE
Definition Typedefs.h:9
char TCHAR
Definition Typedefs.h:20
#define TNULL
Definition Typedefs.h:23
uint32_t TUINT32
Definition Typedefs.h:13
static TWCHAR * StringCharToUnicode(TWCHAR *a_UnicodeString, const TCHAR *a_CharString, TUINT32 a_iLength)
static TSIZE String8Length(const TCHAR *str)
static TSIZE String16Length(const TWCHAR *str)
static TCHAR * StringUnicodeToChar(TCHAR *a_CharString, const TWCHAR *const &a_UnicodeString, TUINT32 a_iLength)