X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9a50173fbb25ea5dae7ba1001b89d682c4984b8..21f60945831a6edad0f2101b6053a2c8213d5296:/docs/latex/wx/tstring.tex diff --git a/docs/latex/wx/tstring.tex b/docs/latex/wx/tstring.tex index 46cae19b09..7449e617e2 100644 --- a/docs/latex/wx/tstring.tex +++ b/docs/latex/wx/tstring.tex @@ -6,11 +6,12 @@ Classes: \helpref{wxString}{wxstring}, \helpref{wxArrayString}{wxarraystring}, \ wxString is a class which represents a character string of arbitrary length (limited by {\it MAX\_INT} which is usually 2147483647 on 32 bit machines) and containing -arbitrary characters. The ASCII NUL character is allowed, although care should be -taken when passing strings containing it to other functions. +arbitrary characters. The ASCII NUL character is allowed, but be aware that +in the current string implementation some methods might not work correctly +in this case. -wxString works with both ASCII (8 bit characters) as well as UNICODE (16 but -characters) strings. +wxString works with both ASCII (traditional, 7 or 8 bit, characters) as well as +Unicode (wide characters) strings. This class has all the standard operations you can expect to find in a string class: dynamic memory management (string extends to accommodate new characters), @@ -48,9 +49,10 @@ very useful but don't exist in most of other string classes: for example, \helpref{BeforeLast}{wxstringbeforelast}, \helpref{operator<<}{wxstringoperatorout} or \helpref{Printf}{wxstringprintf}. Of course, all the standard string operations are supported as well. -\item {\bf UNICODE} In this release, wxString only supports {\it construction} from -a UNICODE string, but in the next one it will be capable of also storing its -internal data in either ASCII or UNICODE format. +\item {\bf Unicode} wxString is Unicode friendly: it allows to easily convert +to and from ANSI and Unicode strings in any build mode (see the +\helpref{Unicode overview}{unicode} for more details) and maps to either +{\tt string} or {\tt wstring} transparently depending on the current mode. \item {\bf Used by wxWindows} And, of course, this class is used everywhere inside wxWindows so there is no performance loss which would result from conversions of objects of any other string class (including std::string) to @@ -131,18 +133,19 @@ variables. \subsection{Other string related functions and classes} -As most programs use character strings, the standard C library provides quite a -few functions to work with them. Unfortunately, some of them have rather -counter-intuitive behaviour (like strncpy() which doesn't always terminate the resulting -string with a NULL) and are in general not very safe (passing NULL to them will -probably lead to program crash). Moreover, some very useful functions are not -standard at all. This is why in addition to all wxString functions, there are -also a few global string functions which try to correct these problems: -\helpref{IsEmpty()}{IsEmpty} verifies whether the string is empty (returning -TRUE for NULL pointers), \helpref{Strlen()}{Strlen} also handles NULLs correctly -and returns 0 for them and \helpref{Stricmp()}{Stricmp} is just a -platform-independent version of case-insensitive string comparison function -known either as stricmp() or strcasecmp() on different platforms. +As most programs use character strings, the standard C library provides quite +a few functions to work with them. Unfortunately, some of them have rather +counter-intuitive behaviour (like strncpy() which doesn't always terminate the +resulting string with a NULL) and are in general not very safe (passing NULL +to them will probably lead to program crash). Moreover, some very useful +functions are not standard at all. This is why in addition to all wxString +functions, there are also a few global string functions which try to correct +these problems: \helpref{wxIsEmpty()}{wxisempty} verifies whether the string +is empty (returning {\tt true} for {\tt NULL} pointers), +\helpref{wxStrlen()}{wxstrlen} also handles NULLs correctly and returns 0 for +them and \helpref{wxStricmp()}{wxstricmp} is just a platform-independent +version of case-insensitive string comparison function known either as +stricmp() or strcasecmp() on different platforms. The {\tt } header also defines \helpref{wxSnprintf}{wxsnprintf} and \helpref{wxVsnprintf}{wxvsnprintf} functions which should be used instead