Microsoft Foundation Classes (mfc.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
class CString
◄Up► ◄Contents► ◄Index► ◄Back►
──Microsoft Foundation Classes──────────────────────────────────────────────
Description
A CString object consists of a variable-length sequence of characters.
The CString class provides a variety of functions and operators that
manipulate CString objects using a syntax similar to that of Basic.
Concatenation and comparison operators, together with simplified memory
management, make CString objects easier to use than ordinary character
arrays. The increased processing overhead is not significant. The
following selections link to useful CString application notes:
■ ◄CString Exception Cleanup►
■ ◄CString Argument Passing►
Comments
The maximum size of a CString object is MAXINT (32,767) characters.
The const char* operator gives direct access to the characters in a
CString object, which makes it look like a C-language character array.
Unlike a character array, however, the CString class has a built-in
memory-allocation capability. This allows string objects to grow as a
result of concatenation operations.
No attempt is made to "fold" CString objects (if you make two CString
objects containing Chicago, for example, the characters in Chicago are
stored in two places).
The CString class is not implemented as a Microsoft Foundation
collection class, although CString objects can certainly be stored as
elements in collections.
The overloaded const char* conversion operator allows CString objects to
be freely substituted for character pointers in function calls. The
CString( const char* psz ) constructor allows character pointers to be
substituted for CString objects.
Use the GetBuffer and ReleaseBuffer member functions when you need to
directly access a CString as a nonconstant pointer to char (char*
instead of a const char*).
CString objects follow "value semantics". A CString object represents a
unique value. Think of a CString as an actual string not as a pointer to
a string.
Where possible, allocate CString objects on the frame rather than on the
heap. This saves memory and simplifies parameter passing.
#include <afx.h>
Public Members
Construction/Destruction
◄CString► Constructs CString objects in various ways.
◄~CString► Destroys a CString object.
The String as an Array
◄GetLength► Returns the number of characters in a CString object.
◄IsEmpty► Tests whether the length of a CString object is 0.
◄Empty► Forces a string to have 0 length.
◄GetAt► Returns the character at a given position.
◄operator []► Returns the character at a given position.
◄SetAt► Sets a character at a given position.
◄operator const char* ()►
Directly accesses characters stored in a CString
object.
Assignment/Concatenation
◄operator =► Assigns a new value to a CString object.
◄operator +► Concatenates two strings and returns a new string.
◄operator +=► Concatenates a new string to the end of an existing
string.
Comparison
◄operators ==, <, etc.► Comparison operators (ASCII, case sensitive).
◄Compare► Compares two strings (ASCII, case sensitive).
◄CompareNoCase► Compares two strings (ASCII, case
insensitive).
◄Collate► Compares two strings with proper
language-dependent ordering.
Extraction
◄Mid► Extracts the middle part of a string (like the Basic
MID$ command).
◄Left► Extracts the left part of a string (like the Basic
LEFT$ command).
◄Right► Extracts the right part of a string (like the Basic
RIGHT$ command).
◄SpanIncluding► Extracts a substring that contains only the characters
in a set.
◄SpanExcluding► Extracts a substring that contains only the characters
not in a set.
Other Conversions
◄MakeUpper► Converts all the characters in this string to uppercase
characters.
◄MakeLower► Converts all the characters in this string to lowercase
characters.
◄MakeReverse► Reverses the characters in this string.
Searching
◄Find► Finds a character or substring inside a larger string.
◄ReverseFind► Finds a character inside a larger string; starts from
the end.
◄FindOneOf► Finds the first matching character from a set.
Archive/Dump
◄operator <<► Inserts a CString object to an archive or dump context.
◄operator >>► Extracts a CString object from an archive.
Buffer Access
◄GetBuffer► Returns a pointer to the characters in the
CString.
◄GetBufferSetLength► Returns a pointer to the characters in the
CString, truncating to the specified length.
◄ReleaseBuffer► Yields control of the buffer returned by
GetBuffer.
Windows-Specific
◄LoadString► Loads an existing CString object from a Windows
resource.
◄AnsiToOem► Makes an in-place conversion from the ANSI character set
to the OEM character set.
◄OemToAnsi► Makes an in-place conversion from the OEM character set
to the ANSI character set.
-♦-