RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
AnsiStringBase Class

System::AnsiStringBase is the base class for the C++ analog of the Delphi long string type.

Pascal
AnsiStringBase = class;
C++
class AnsiStringBase;

System::AnsiStringBase exists to provide a place for methods/members that are common to all instantiations of the template class AnsiStringT<CodePage>. AnsiString itself is a typedef that is equivalent to AnsiStringT<0>. You should never deal directly with System::AnsiStringBase. 

System::AnsiStringT is a template class that you use when handling a Delphi AnsiString that has a code page specified with it. 

Delphi uses several string types. One important long string type is commonly known as System::AnsiString. Support for this type includes the following features:

  • strings can be as large as available memory
  • efficient use of memory is ensured through shared references
  • routines and operators evaluate strings based on the current locale

Despite its name, System::AnsiStringBase is not restricted to the ANSI character set, and can use any character set supported by the current locale definition, including multi-byte and Unicode character sets. 

System::AnsiStringBase variables that have not been assigned an initial value contain a zero-length string. 

To use the C++ streaming operators (<< and >>) with System::AnsiStringBase, you must iostream before including system.hpp and use AnsiStringT::c_str() to return the internal string representation. The following example demonstrates the usage of AnsiString with stream operators:

#include <iostream>
#include <system.hpp>
int main() {
  AnsiString HelloStr = "hello";
  std::cout << HelloStr.c_str();
}

Note: Delphi also supports System::AnsiString, but implements it as a primitive type rather than a class.  

UnicodeString has become the default string type. By default, variables declared as type String are System::UnicodeString.

 

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!