X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4eb438cf7c42d5ceaa60b55048b5d0dc36c3986b..a99acbb00a102458b8ad5ba4459712ba73d8b14d:/docs/latex/wx/wxstring.tex diff --git a/docs/latex/wx/wxstring.tex b/docs/latex/wx/wxstring.tex index 9b1f85ca85..9ab8067f36 100644 --- a/docs/latex/wx/wxstring.tex +++ b/docs/latex/wx/wxstring.tex @@ -30,7 +30,7 @@ Objects: \membersection{Constructors and assignment operators} -A strign may be constructed either from a C string, (some number of copies of) +A string may be constructed either from a C string, (some number of copies of) a single character or a wide (UNICODE) string. For all constructors (except the default which creates an empty string) there is also a corresponding assignment operator. @@ -55,7 +55,7 @@ or empty it. Many functions in this section take a character index in the string. As with C strings and/or arrays, the indices start from $0$, so the first character of a string is string[$0$]. Attempt to access a character beyond the end of the -string (which may be even $0$ if the string is empty) will provocate an assert +string (which may be even $0$ if the string is empty) will provoke an assert failure in \helpref{debug build}{debuggingoverview}, but no checks are done in release builds. @@ -101,7 +101,7 @@ interpreter. \helpref{StartsWith}{wxstringstartswith} is helpful when parsing a line of text which should start with some predefined prefix and is more efficient than -doing direct string comparaison as you would also have to precalculate the +doing direct string comparison as you would also have to precalculate the length of the prefix then. \helpref{Cmp}{wxstringcmp}\\ @@ -129,7 +129,7 @@ substring. \membersection{Case conversion} The MakeXXX() variants modify the string in place, while the other functions -return a new string which containts the original text converted to the upper or +return a new string which contains the original text converted to the upper or lower case and leave the original string unchanged. \helpref{MakeUpper}{wxstringmakeupper}\\ @@ -181,7 +181,7 @@ formatted value to a string: \membersection{Memory management} -These are "advanced" functions and they will be needed quite rarily. +These are "advanced" functions and they will be needed quite rarely. \helpref{Alloc}{wxstringalloc} and \helpref{Shrink}{wxstringshrink} are only interesting for optimization purposes. \helpref{GetWriteBuf}{wxstringgetwritebuf} may be very useful when working with @@ -644,7 +644,7 @@ to put the string back into a reasonable state. \membersection{wxString::Index}\label{wxstringindex} -\constfunc{size\_t}{Index}{\param{char}{ ch}, \param{int}{ startpos = 0}} +\constfunc{size\_t}{Index}{\param{char}{ ch}} Same as \helpref{wxString::Find}{wxstringfind}. @@ -736,12 +736,7 @@ Returns a reference to the last character (writable). \constfunc{wxString}{Left}{\param{size\_t}{ count}} -Returns the first {\it count} characters. - -\constfunc{wxString}{Left}{\param{char}{ ch}} - -Returns all characters before the first occurrence of {\it ch}. -Returns the whole string if {\it ch} is not found. +Returns the first {\it count} characters of the string. \membersection{wxString::Len}\label{wxstringlen} @@ -922,17 +917,20 @@ if the string does not represent such number. \membersection{wxString::ToLong}\label{wxstringtolong} -\constfunc{bool}{ToLong}{\param{long}{ *val}, \param{int }{base = 0}} +\constfunc{bool}{ToLong}{\param{long}{ *val}, \param{int }{base = $10$}} Attempts to convert the string to a signed integer in base {\it base}. Returns {\tt TRUE} on success in which case the number is stored in the location pointed to by {\it val} or {\tt FALSE} if the string does not represent a valid number in the given base. -The default value of {\it base} $0$ is special and means that the usual rules -of {\tt C} numbers are applied: if the number starts with {\tt 0x} it is -considered to be in base $16$, if it starts with {\tt 0} - in base $8$ and in -base $10$ otherwise. +The value of {\it base} must be comprised between $2$ and $36$, inclusive, or +be a special value $0$ which means that the usual rules of {\tt C} numbers are +applied: if the number starts with {\tt 0x} it is considered to be in base +$16$, if it starts with {\tt 0} - in base $8$ and in base $10$ otherwise. Note +that you may not want to specify the base $0$ if you are parsing the numbers +which may have leading zeroes as they can yield unexpected (to the user not +familiar with C) results. \wxheading{See also} @@ -941,17 +939,15 @@ base $10$ otherwise. \membersection{wxString::ToULong}\label{wxstringtoulong} -\constfunc{bool}{ToULong}{\param{unsigned long}{ *val}, \param{int }{base = 0}} +\constfunc{bool}{ToULong}{\param{unsigned long}{ *val}, \param{int }{base = $10$}} Attempts to convert the string to a ansigned integer in base {\it base}. Returns {\tt TRUE} on success in which case the number is stored in the location pointed to by {\it val} or {\tt FALSE} if the string does not represent a valid number in the given base. -The default value of {\it base} $0$ is special and means that the usual rules -of {\tt C} numbers are applied: if the number starts with {\tt 0x} it is -considered to be in base $16$, if it starts with {\tt 0} - in base $8$ and in -base $10$ otherwise. +See \helpref{wxString::ToLong}{wxstringtolong} for the more detailed +description of the {\it base} parameter. \wxheading{See also} @@ -1116,3 +1112,57 @@ Implicit conversion to a C string. These comparisons are case-sensitive. + +\section{\class{wxStringBuffer}}\label{wxstringbuffer} + +This tiny class allows to conveniently access the \helpref{wxString}{wxstring} +internal buffer as a writable pointer without any risk to forget to restore +the string to the usable state later. + +For example, assuming you have a low-level OS function called +{\tt GetMeaningOfLifeAsString(char *)} returning the value in the provided +buffer (which must be writable, of course) you might call it like this: + +\begin{verbatim} + wxString theAnswer; + GetMeaningOfLifeAsString(wxStringBuffer(theAnswer, 1024)); + if ( theAnswer != "42" ) + { + wxLogError("Something is very wrong!"); + } +\end{verbatim} + +\wxheading{Derived from} + +None + +\wxheading{Include files} + + + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxStringBuffer::wxStringBuffer} + +\func{}{wxStringBuffer}{\param{const wxString\& }{str}, \param{size\_t }{len}} + +Constructs a writable string buffer object associated with the given string +and containing enough space for at least {\it len} characters. Basically, this +is equivalent to calling \helpref{GetWriteBuf}{wxstringgetwritebuf} and +saving the result. + +\membersection{wxStringBuffer::\destruct{wxStringBuffer}} + +\func{}{\destruct{wxStringBuffer}}{\void} + +Restores the string passed to the constructor to the usable state by calling +\helpref{UngetWriteBuf}{wxstringungetwritebuf} on it. + +\membersection{wxStringBuffer::operator wxChar *} + +\constfunc{wxChar *}{operator wxChar *}{\void} + +Returns the writable pointer to a buffer of the size at least equal to the +length specified in the constructor. + +