diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/stringutils_8cpp_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/stringutils_8cpp_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,188 @@ + + + + +TB9.2 Example Applications: examples/PIPS/OpenCStringUtilitiesEx/library/src/stringutils.cpp Source File + + + + + +

examples/PIPS/OpenCStringUtilitiesEx/library/src/stringutils.cpp

00001 /*
+00002 * ==============================================================================
+00003 *  Name        : stringutils.cpp
+00004 *  Part of     : OpenCStringUtilsEx
+00005 *  Interface   : 
+00006 *  Description : Source file for stringutils
+00007 *  Version     : 
+00008 *
+00009 *  Copyright (c) 2005-2007 Nokia Corporation.
+00010 *  This material, including documentation and any related 
+00011 *  computer programs, is protected by copyright controlled by 
+00012 *  Nokia Corporation.
+00013 * ==============================================================================
+00014 */
+00015 
+00016 // GCCE header
+00017 //#ifdef __GCCE__
+00018 //#include <staticlibinit_gcce.h>
+00019 //#endif //__GCCE__
+00020 
+00021 //System headers
+00022 #include <string.h>
+00023 #include <stdlib.h>
+00024 
+00025 //User-definied headers
+00026 #include "stringutils.h"
+00027 
+00028 
+00029 EXPORT_C wchar_t* tbuf16towchar(TDes& aArg)
+00030 {
+00031         return (wchar_t*)aArg.PtrZ();
+00032 }
+00033         
+00034 EXPORT_C char* tbuf8tochar(TDes8& aArg)
+00035 {
+00036         return (char*)aArg.PtrZ();
+00037 }
+00038 
+00039 EXPORT_C int tbuf16tochar(TDes& aSrc, char* aDes)
+00040 {
+00041         const TUint16 *wideString = aSrc.PtrZ();
+00042         
+00043         TInt ret = wcstombs(aDes, (const wchar_t*)wideString, KMaxFileName );
+00044         
+00045         return ret;
+00046 }
+00047 
+00048 EXPORT_C int tbuf8towchar(TDes8& aSrc  ,wchar_t* aDes)
+00049 {
+00050         const char *charString = (const char*)aSrc.PtrZ();
+00051         
+00052         TInt ret = mbstowcs(aDes, charString, KMaxFileName );
+00053         
+00054         return ret;
+00055 }
+00056         
+00057         
+00058 EXPORT_C void tbufC16towchar(TDesC& aSrc ,wchar_t *aDes)
+00059 {
+00060         wchar_t *temp = (wchar_t*)aSrc.Ptr();
+00061         const TInt size = aSrc.Size();
+00062         *(temp + size/2 ) = L'\0';
+00063         wcscpy(aDes, temp);
+00064 }
+00065 
+00066 EXPORT_C void tbufC8tochar(TDesC8& aSrc, char* aDes)
+00067 {
+00068         char *temp = (char*)aSrc.Ptr();
+00069         const TInt size = aSrc.Length();
+00070         *(temp + size) = '\0';
+00071         strcpy(aDes, temp);
+00072 }
+00073         
+00074 EXPORT_C int tbufC16tochar(TDesC& aSrc, char* aDes)
+00075 {
+00076         TUint16* wideString = (TUint16*)aSrc.Ptr();
+00077         const TInt size = aSrc.Length();
+00078         *(wideString + size) = L'\0';
+00079         
+00080         
+00081         TInt ret = wcstombs(aDes, (const wchar_t*)wideString, size*2 );
+00082         return ret;     
+00083 }
+00084 
+00085 
+00086 EXPORT_C int tbufC8towchar(TDesC8& aSrc, wchar_t* aDes)
+00087 {
+00088         TUint8* charString = (TUint8*)aSrc.Ptr();
+00089         const TInt size = aSrc.Length();
+00090         *(charString + size) = '\0';
+00091         
+00092         TInt ret = mbstowcs(aDes, (const char*)charString, KMaxFileName );
+00093         return ret;
+00094 }
+00095 
+00096 EXPORT_C void wchartotbuf16(const wchar_t *aSrc, TDes16 &aDes)
+00097 {
+00098         aDes = (const TUint16*)aSrc;
+00099 }
+00100 
+00101 EXPORT_C  int chartotbuf16(const char *aSrc, TDes16 &aDes)
+00102 {
+00103         int len = strlen(aSrc);
+00104         wchar_t *buf = new wchar_t[len];
+00105         
+00106         TInt ret = mbstowcs(buf, (const char*)aSrc, len + 1 );
+00107         
+00108         if( ret != -1)
+00109                 aDes = (const TUint16*)buf;
+00110         
+00111         delete buf;
+00112         return ret;
+00113 }
+00114 
+00115 EXPORT_C int wchartotbuf8(const wchar_t *aSrc, TDes8 &aDes)
+00116 {
+00117         int len = wcslen(aSrc);
+00118         char *buf = new char[len];
+00119         
+00120         TInt ret = wcstombs(buf, (const wchar_t*)aSrc, len + 1);
+00121         
+00122         if( ret != -1)
+00123                 aDes = (const TUint8*)buf;
+00124         
+00125         delete buf;
+00126         return ret;
+00127 }
+00128         
+00129 EXPORT_C  void chartotbuf8 (const char *aSrc, TDes8 &aDes)
+00130 {
+00131         aDes = (const TUint8*)aSrc;
+00132 }
+00133 
+00134 EXPORT_C  void wchartohbufc16 (const wchar_t* aSrc ,HBufC16& aDes )
+00135 {
+00136         aDes = (const TUint16*)aSrc;            
+00137 }
+00138         
+00139 EXPORT_C int chartohbufc16(const char* aSrc, HBufC16& aDes)
+00140 {       
+00141         int len = strlen(aSrc);
+00142         wchar_t *buf = new wchar_t[len];
+00143         
+00144         TInt ret = mbstowcs(buf, (const char*)aSrc, len + 1);
+00145         
+00146         if( ret != -1)
+00147                 aDes = (const TUint16*)buf;
+00148         
+00149         delete buf;
+00150         return ret;
+00151 }
+00152         
+00153 EXPORT_C void chartohbufc8(const char* aSrc, HBufC8& aDes)
+00154 {
+00155         aDes = (const TUint8*)aSrc;
+00156 }
+00157         
+00158 EXPORT_C int wchartohbufc8(const wchar_t* aSrc, HBufC8& aDes)
+00159 {
+00160         int len = wcslen(aSrc);
+00161         char *buf = new char[len];
+00162         
+00163         TInt ret = wcstombs(buf, aSrc, len + 1 );
+00164         
+00165         if( ret != -1)
+00166                 aDes = (const TUint8*)buf;
+00167         
+00168         delete buf;
+00169         return ret;
+00170 }
+00171 
+00172 // End of file
+
+
Generated by  + +doxygen 1.6.2
+ +