PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CString Klassenreferenz

String-Klasse für UTF-8 und andere Charsets. Mehr ...

Öffentliche Typen

enum  PPLDataType {
  UNKNOWN =0, CINT =2, CSTRING =4, CASSOCARRAY =5,
  CBINARY =6, CWSTRING =8, CARRAY =9, CBOOL =10,
  CDATETIME =11
}
 Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden. Mehr ...
 

Öffentliche Methoden

 CString ()
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const char *str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const wchar_t *str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (CString *str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const CString &str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const std::string &str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const CWString &str)
 Konstruktor der String-Klasse. Mehr ...
 
 CString (const CBinary &bin)
 Konstruktor der String-Klasse. Mehr ...
 
 ~CString ()
 Destruktor der String-Klasse. Mehr ...
 
void Add (const char *str, int bytes=-1)
 Fügt einen String an den bestehenden String an. Mehr ...
 
void AddChar (char c)
 Einzelnes Zeichen anfügen. Mehr ...
 
int Capacity () const
 
void Chomp ()
 Schneidet Returns und Linefeeds am Anfanng und Ende des Strings ab. Mehr ...
 
void Chop (int chars=1)
 Schneidet Zeichen am Ende des Strings ab. Mehr ...
 
void Clear ()
 Löscht den Inhalt des Strings. Mehr ...
 
void Concat (const char *text, int bytes=-1)
 Fügt einen String an das Ende des vorhandenen an. Mehr ...
 
void Concat (CString &str, int bytes=-1)
 Fügt einen String an das Ende des vorhandenen an. Mehr ...
 
void Concatf (const char *fmt,...)
 Fügt einen formatierten String an das Ende des vorhandenen an. Mehr ...
 
void Copy (const char *str, int bytes=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Copy (CString &str, int bytes=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Cut (int position)
 Schneidet den String an einer bestimmten Stelle ab. Mehr ...
 
void Cut (const char *letter)
 Schneidet den String beim ersten Auftauchen eines Zeichens/Strings ab. Mehr ...
 
int DataType () const
 Liefert den Datentyp des Objekts zurück. Mehr ...
 
int Find (const char *str, int pos) const
 Sucht nach einem String. Mehr ...
 
char Get (int pos) const
 
const char * GetMatch (int index) const
 
CString GetMD5 () const
 
const char * GetPtr () const
 Liefert einen char-Pointer auf den internen String zurück. Mehr ...
 
void HexDump () const
 Macht einen Hexdump des Strings auf STDOUT. Mehr ...
 
void HexDump (const void *buffer, ppldd bytes, bool skipheader=false)
 
void ImportBuffer (char *buffer, size_t bytes)
 Externen Buffer übernehmen. Mehr ...
 
int Instr (const char *str, int pos=0) const
 
int Instr (const CString &str, int pos=0) const
 
int InstrCase (const CString &str, int pos=0) const
 
int IsEmpty () const
 Prüft, ob der String leer ist. Mehr ...
 
bool IsFalse () const
 
int IsInteger () const
 Prüft, ob der String einen Integer Wert enthält. Mehr ...
 
int IsNumeric () const
 Prüft, ob der String nummerisch ist. Mehr ...
 
bool IsTrue () const
 
int IsType (int type) const
 
void LCase ()
 Wandelt alle Zeichen des Strings in Kleinbuchstaben um. Mehr ...
 
CString Left (ppluint32 len) const
 
ppluint32 Len () const
 Gibt die Länge des Strings zurück. Mehr ...
 
ppluint32 Length () const
 Gibt die Länge des Strings zurück. Mehr ...
 
void LTrim ()
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Anfanng des Strings ab. Mehr ...
 
void LTrim (const char *str)
 Schneidet die definierten Zeichen am Anfang des Strings ab. Mehr ...
 
int MD5 (const CString &str)
 
int MD5 (const char *str)
 
int MD5 (const char *buffer, int size)
 
int MD5 ()
 
CString Mid (ppluint32 start, ppluint32 len=0xffffffff) const
 String-Ausschnitt. Mehr ...
 
int NotEmpty () const
 Prüft, ob der String Daten enthält. Mehr ...
 
 operator bool () const
 Liefert je nach Inhalt des Strings true oder false zurück. Mehr ...
 
 operator const char * () const
 Liefert einen char-Pointer auf den internen String zurück. Mehr ...
 
 operator int () const
 Liefert den Integer-Wert des Strings zurück. Mehr ...
 
 operator unsigned int () const
 Liefert den Integer-Wert des Strings zurück. Mehr ...
 
bool operator!= (const char *str) const
 
bool operator!= (const CString &str) const
 
CStringoperator+= (const char *str)
 
CStringoperator+= (int c)
 
CStringoperator+= (const CString &str)
 
bool operator< (const char *str) const
 
bool operator< (const CString &str) const
 
bool operator<= (const char *str) const
 
bool operator<= (const CString &str) const
 
CStringoperator= (char *str)
 
CStringoperator= (const char *str)
 
CStringoperator= (const wchar_t *str)
 
CStringoperator= (const CString *str)
 
CStringoperator= (const std::string &str)
 
CStringoperator= (const CString &str)
 
CStringoperator= (const CWString &str)
 
CStringoperator= (const CBinary &str)
 
bool operator== (const char *str) const
 
bool operator== (const CString &str) const
 
bool operator> (const char *str) const
 
bool operator> (const CString &str) const
 
bool operator>= (const char *str) const
 
bool operator>= (const CString &str) const
 
char operator[] (int pos) const
 
void PregEscape ()
 Fügt dem String Escape-Zeichen zu, zur Verwendung in einem Match. Mehr ...
 
int PregMatch (const char *expression, CArray *res=NULL)
 Der String wird anhand einer Regular Expression durchsucht. Mehr ...
 
int PregMatch (const CString &expression, CArray &res) const
 
int PregReplace (const char *expression, const char *replace, int maxreplace=0)
 Es wird ein Suchen und Ersetzen anhand einer Regular Expression durchgeführt. Mehr ...
 
int PregReplace (const char *expression, CString &replace, int maxreplace=0)
 Es wird ein Suchen und Ersetzen anhand einer Regular Expression durchgeführt. Mehr ...
 
void Print (bool attach_newline=false) const
 Gibt den Inhalt des Strings auf STDOUT aus. Mehr ...
 
CStringRepeat (int num)
 
CStringRepeat (const char *str, int num)
 
CStringRepeat (char ascii, int num)
 Füllt den String mit einem Zeichen. Mehr ...
 
CStringRepeat (const CString &str, int num)
 
CStringReplace (const char *str, const char *byStr)
 Ersetzt einen Teilstring durch einen anderen. Mehr ...
 
int Reserve (ppluint32 size)
 Reserviert Speicher für den String. Mehr ...
 
CString Right (ppluint32 len) const
 
void RTrim ()
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Ende des Strings ab. Mehr ...
 
void RTrim (const char *str)
 Schneidet die definierten Zeichen am Ende des Strings ab. Mehr ...
 
void Set (const char *text, int bytes=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Set (const CString *str, int bytes=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Set (const CString &str, int bytes=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Set (const CWString &str, int size=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void Set (const std::string &str, int bytes=-1)
 
void Set (const std::wstring &str, int size=-1)
 
void Set (const wchar_t *str, int size=-1)
 Belegt den String mit einem Wert. Mehr ...
 
void SetChar (char c)
 
void SetChar (char c, int pos)
 Einzelnes Zeichen an einer bestimmten Position überschreiben. Mehr ...
 
void Setf (const char *fmt,...)
 Erzeugt einen formatierten String. Mehr ...
 
void Shl (char c, int size)
 Schiebt den String nach links. Mehr ...
 
void Shr (char c, int size)
 Schiebt den String nach rechts. Mehr ...
 
ppluint32 Size () const
 Gibt die Länge des Strings zurück. Mehr ...
 
void Sprintf (const char *fmt,...)
 Erzeugt einen formatierten String. Mehr ...
 
int StrCaseCmp (const char *str, int size=0) const
 Führt einen Vergleich mit einem anderen String durch, wobei Gross-/Kleinschreibung ignoriert wird. Mehr ...
 
int StrCaseCmp (const CString &str, int size=0) const
 Führt einen Vergleich mit einem anderen String durch, wobei Gross-/Kleinschreibung ignoriert wird. Mehr ...
 
int StrCmp (const char *str, int size=0) const
 Führt einen Vergleich mit einem anderen String durch. Mehr ...
 
int StrCmp (const CString &str, int size=0) const
 Führt einen Vergleich mit einem anderen String durch. Mehr ...
 
void Strcpy (const CString &str)
 Kopiert einen String. Mehr ...
 
void Strcpy (const char *str)
 Kopiert einen String. Mehr ...
 
void StripSlashes ()
 
void Strncpy (const char *str, size_t bytes)
 Belegt den String mit einem Wert. Mehr ...
 
void Strncpy (const CString &str, size_t bytes)
 String teilweise kopieren. Mehr ...
 
CString SubStr (ppluint32 start, ppluint32 len=0xffffffff) const
 String-Ausschnitt. Mehr ...
 
bool ToBool () const
 Gibt je nach Inhalt des Strings true oder false zurück. Mehr ...
 
double ToDouble () const
 Gibt den Double-Wert des Strings zurück. Mehr ...
 
float ToFloat () const
 Gibt den Float-Wert des Strings zurück. Mehr ...
 
int ToInt () const
 Gibt den Integer-Wert des Strings zurück. Mehr ...
 
pplint64 ToInt64 () const
 Gibt einen 64-Bit Integer-Wert des Strings zurück. Mehr ...
 
long ToLong () const
 Gibt den Long-Wert des Strings zurück. Mehr ...
 
long long ToLongLong () const
 Gibt den Long Long-Wert des Strings zurück. Mehr ...
 
int Transcode (const char *fromcharset, const char *tocharset="UTF-8")
 String von einem Charset in ein anderes umwandeln. Mehr ...
 
int Transcode (const char *fromcharset, const char *tocharset, CBinary &Target) const
 
int TranscodeText (const CString &text, const char *fromcharset, const char *tocharset="UTF-8")
 String von einem Charset in ein anderes umwandeln. Mehr ...
 
int TranscodeText (const char *text, const char *fromcharset, const char *tocharset="UTF-8")
 String von einem Charset in ein anderes umwandeln. Mehr ...
 
int TranscodeText (const char *text, int size, const char *fromcharset, const char *tocharset="UTF-8")
 String von einem Charset in ein anderes umwandeln. Mehr ...
 
void Trim ()
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Anfanng und Ende des Strings ab. Mehr ...
 
void Trim (const char *str)
 Schneidet die definierten Zeichen am Anfang und Ende des Strings ab. Mehr ...
 
void TrimL (ppluint32 chars)
 
void TrimR (ppluint32 chars)
 
void UCase ()
 Wandelt alle Zeichen des Strings in Grossbuchstaben um. Mehr ...
 
void UCWords ()
 Anfangsbuchstaben der Wörter groß Mehr ...
 
void VaSprintf (const char *fmt, va_list args)
 Erzeugt einen formatierten String. Mehr ...
 
void Vasprintf (const char *fmt, va_list args)
 Erzeugt einen formatierten String. Mehr ...
 

Öffentliche, statische Methoden

static void setInitialBuffersize (ppluint32 size)
 

Geschützte Attribute

ppluint8 type
 

Private Methoden

void Init ()
 
void ReCalcLen ()
 

Private Attribute

char * buffer
 
ppluint32 buffersize
 
ppluint32 len
 
CArraymatches
 

Ausführliche Beschreibung

Eine Klasse zur Verwaltung und Bearbeitung von Strings

Diese Klasse kann verwendet werden, um beliebige Strings im UTF-8-Format zu speichern und zu verarbeiten. Dabei braucht sich der Anwender keine Gedanken um den verwendeten Speicher zu machen.

Siehe auch
ppl6::CWString Stringklasse zur Verwaltung von 32-Bit Wide-Characters im Unicode-Format.

Dokumentation der Aufzählungstypen

enum ppl6::CVar::PPLDataType
inherited

Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden

Seit
Wurde mit Version 6.3.0 eingeführt.
Aufzählungswerte
UNKNOWN 

Unbekannter Datentyp.

CINT 

Klasse vom Typ CInt.

CSTRING 

Klasse vom Typ CString.

CASSOCARRAY 

Klasse vom Typ CAssocArray.

CBINARY 

Klasse vom Typ CBinary.

CWSTRING 

Klasse vom Typ CWString.

CARRAY 

Klasse vom Typ CArray.

CBOOL 

Klasse vom Typ CBool.

CDATETIME 

Klasse vom Typ CDateTime.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CString::CString ( )

Erzeugt einen Leeren String

ppl6::CString::CString ( const char *  str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist ein const char * auf einen 0-terminierten String.
ppl6::CString::CString ( const wchar_t *  str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist ein const char * auf einen 0-terminierten String.
ppl6::CString::CString ( CString str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist ein Pointer auf eine andere String-Klasse.
ppl6::CString::CString ( const CString str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist eine andere Instanz der String-Klasse.
ppl6::CString::CString ( const std::string &  str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist eine Instanz der Standard Template String-Klasse.
ppl6::CString::CString ( const CWString str)

Erzeugt einen neuen String mit dem Inhalt von str

Parameter
strist eine Instanz der Wide-String-Klasse.
ppl6::CString::CString ( const CBinary bin)

Erzeugt einen neuen String mit dem Inhalt von bin. Dies ist natürlich nur sinnvoll, wenn die Binary-Klasse auch darstellbaren Text enthält.

Parameter
binist eine Instanz von CBinary.
ppl6::CString::~CString ( )

Der Destruktor gibt alle von dieser Instanz verwendeten Speicherbereiche wieder frei.

Dokumentation der Elementfunktionen

void ppl6::CString::Add ( const char *  str,
int  bytes = -1 
)
Parameter
strEin Pointer auf eine CString-Klasse, dessen Inhalt angehangen werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::AddChar ( char  c)

Mit dieser Funktion wird ein einzelnes Zeichen an den String angefügt.

Parameter
[in]cASCII-Code des gewünschten Zeichens
int ppl6::CString::Capacity ( ) const
void ppl6::CString::Chomp ( )
void ppl6::CString::Chop ( int  chars = 1)
void ppl6::CString::Clear ( )

Der Inhalt des Strings wird gelöscht und seine Länge auf 0 gesetzt. Außerden werden alle belegten Speicherblöcke freigegeben.

Rückgabe
Nichts
void ppl6::CString::Concat ( const char *  text,
int  bytes = -1 
)
void ppl6::CString::Concat ( CString str,
int  bytes = -1 
)
void ppl6::CString::Concatf ( const char *  fmt,
  ... 
)
void ppl6::CString::Copy ( const char *  str,
int  bytes = -1 
)
Beschreibung:
Belegt den String mit einem Wert. Die Funktion ist identisch mit CString::Set.
Parameter
strEin Pointer auf einen C-String, der in die String-Klasse kopiert werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Copy ( CString str,
int  bytes = -1 
)
Parameter
strEin Pointer auf eine CString-Klasse, dessen Inhalt kopiert werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Cut ( int  position)

Der String wird an einer bestimmten Stelle einfach abgeschnitten

Parameter
positionDie Position, an der der String abgeschnitten wird. Bei Angabe von 0 ist der String anschließend komplett leer. Ist position größer als die Länge des Strings, passiert nichts.
void ppl6::CString::Cut ( const char *  letter)

Der String wird beim ersten Auftauchen eines Zeichens oder eines Strings abgeschnitten.

Parameter
[in]letterBuchstabe oder Buchstabenkombination, an der der String abgeschnitten werden soll. Zeigt der Pointer auf NULL oder ist der String leer, passiert nichts.
int CVar::DataType ( ) const
inherited

Diese Funktion liefert den Datentyp des Objekts zurück.

Rückgabe
ID aus der Enumeration CVar::PPLDataType
Seit
Wurde mit Version 6.3.0 eingeführt.
int ppl6::CString::Find ( const char *  str,
int  pos 
) const

Find sucht nach dem Suchstring str ab der gewünschten Position pos.

Rückgabe
Liefert die Position innerhalb des Strings, an der der Suchstring gefunden wurde oder -1 wenn er nicht gefunden wurde.
char ppl6::CString::Get ( int  pos) const
const char * ppl6::CString::GetMatch ( int  index) const

Liefert mit PregMatch gefundene Ergebnisse zurück

Parameter
indexist ein Index auf die Ergebnisse. 0 liefert immer den kompletten String zurück, 1 den ersten Match, 2 den zweiten usw.
Rückgabe
Die Funktion liefert einen const char * zurück, sofern der Match vorhanden ist, ansonsten NULL.
Zu beachten
Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
CString ppl6::CString::GetMD5 ( ) const
const char * ppl6::CString::GetPtr ( ) const
void ppl6::CString::HexDump ( ) const
void ppl6::CString::HexDump ( const void *  buffer,
ppldd  bytes,
bool  skipheader = false 
)
void ppl6::CString::ImportBuffer ( char *  buffer,
size_t  bytes 
)

Mit dieser Funktion kann ein externer Buffer in den String übernommen werden. Dazu muss die Anwendung zunächst Speicher mit malloc allokieren und diesen mit einem gültigen String versehen. Dieser muss mit einem 0-Byte enden. Der Pointer auf den Beginn des Speichers und die allokierte Größe wird dann mit dieser Funktion in den String importiert. Die Verwaltung des Speicherblocks geht dabei an die Stringklasse über, darf also nicht mehr von der Anwendung verändert oder gelöscht werden!

Danach prüft die Funktion noch die tatsächliche Länge des Strings durch Aufruf der Funktion ReCalcLen, für den Fall dass mehr Speicher allokiert wurde, als tatsächlich gebraucht wurde. Zum Abschluss wird noch ein Change-Event ausgelöst.

Falls der String vor Aufruf dieser Funktion noch Daten enthalten hat, werden diese ordnungsgemäß gelöscht.

Parameter
[in]bufferPointer auf den Speicherbereich, ab dem der String beginnt
[in]bytesAnzahl Bytes, die beim malloc allokiert wurden
Zu beachten
Falls der String nicht mit einem 0-Byte beendet wurde, wird automatisch das letzte Byte des Buffers auf 0 gesetzt:
buffer[bytes-1]=0;
Das könnte einen ungewollten Effekt haben, falls das Zeichen an dieser Stelle wichtig war. Es sollte daher immer mindestens 1 Byte mehr allokiert werden, als tatsächlich benötigt wird.
Seit
Diese Funktion wurde mit Version 6.3.0 eingeführt
void ppl6::CString::Init ( )
private
int ppl6::CString::Instr ( const char *  str,
int  pos = 0 
) const
int ppl6::CString::Instr ( const CString str,
int  pos = 0 
) const
int ppl6::CString::InstrCase ( const CString str,
int  pos = 0 
) const
int ppl6::CString::IsEmpty ( ) const

Diese Funktion prüft, ob der String Zeichen enthält

Rückgabe
Ist der String leer, liefert die Funktion true (1) zurück, sonst false.
Siehe auch
CString::NotEmpty
bool ppl6::CString::IsFalse ( ) const
int ppl6::CString::IsInteger ( ) const
Beschreibung:
Diese Funktion prüft, ob im String einen integer Wert enthält, also nur die Ziffern 0-9 und optional ein Minus am Anfang enthalten sind
Rückgabe
Ist der String ein Integer, wird 1 zurückgegeben. Ist er es nicht oder ist der String leer, wird 0 zurückgegeben.
int ppl6::CString::IsNumeric ( ) const
Beschreibung:
Diese Funktion prüft, ob im String nur nummerische Zeichen vorhanden sind, also die Ziffern 0-9, Punkt, Komma und Minus.
Rückgabe
Ist der String nummerisch, wird 1 zurückgegeben. Ist er es nicht oder ist der String leer, wird 0 zurückgegeben.
bool ppl6::CString::IsTrue ( ) const
int CVar::IsType ( int  type) const
inherited
void ppl6::CString::LCase ( )
CString ppl6::CString::Left ( ppluint32  len) const
ppluint32 ppl6::CString::Len ( ) const

Diese Funktion gibt die Länge des Strings zurück.

Rückgabe
Gibt entweder die Länge des Strings in Byte zurück, oder 0, wenn der String Leer ist.
Siehe auch
Size
Length
ppluint32 ppl6::CString::Length ( ) const

Diese Funktion gibt die Länge des Strings zurück.

Rückgabe
Gibt entweder die Länge des Strings in Byte zurück, oder 0, wenn der String Leer ist.
Siehe auch
Len
Size
void ppl6::CString::LTrim ( )
void ppl6::CString::LTrim ( const char *  str)
int ppl6::CString::MD5 ( const CString str)
int ppl6::CString::MD5 ( const char *  str)
int ppl6::CString::MD5 ( const char *  buffer,
int  size 
)
int ppl6::CString::MD5 ( )
CString ppl6::CString::Mid ( ppluint32  start,
ppluint32  len = 0xffffffff 
) const
Beschreibung:
Mit dieser Funktion wird ein Ausschnitt des vorhandenen Strings ab der Position start mit einer Länge von len Bytes (nicht Zeichen!) in einen neuen String kopiert und zurückgegeben.
Parameter
startStartposition innerhalb des Strings
lenOptionale Angabe der Länge. Wird der Parameter nicht angegeben, wird der String ab der Startposition start bis zum Ende kopiert
Rückgabe
Neuer String, der den gewünschten Ausschnitt enthält. Ist start größer als der vorhandene String, wird ein leerer String zurückgegeben. Ist start + len größer als der vorhandene String, wird nur der Teil ab start bis zum Ende zurückgegeben.
int ppl6::CString::NotEmpty ( ) const

Diese Funktion prüft, ob der String Zeichen enthält

Rückgabe
Enthält der String Daten (Länge > 0), liefert die Funktion true (1) zurück, sonst false.
Siehe auch
CString::IsEmpty
ppl6::CString::operator bool ( ) const
ppl6::CString::operator const char * ( ) const
ppl6::CString::operator int ( ) const
ppl6::CString::operator unsigned int ( ) const
bool ppl6::CString::operator!= ( const char *  str) const
bool ppl6::CString::operator!= ( const CString str) const
CString & ppl6::CString::operator+= ( const char *  str)
CString & ppl6::CString::operator+= ( int  c)
CString & ppl6::CString::operator+= ( const CString str)
bool ppl6::CString::operator< ( const char *  str) const
bool ppl6::CString::operator< ( const CString str) const
bool ppl6::CString::operator<= ( const char *  str) const
bool ppl6::CString::operator<= ( const CString str) const
CString & ppl6::CString::operator= ( char *  str)
CString & ppl6::CString::operator= ( const char *  str)
CString & ppl6::CString::operator= ( const wchar_t *  str)
CString & ppl6::CString::operator= ( const CString str)
CString & ppl6::CString::operator= ( const std::string &  str)
CString & ppl6::CString::operator= ( const CString str)
CString & ppl6::CString::operator= ( const CWString str)
CString & ppl6::CString::operator= ( const CBinary str)
bool ppl6::CString::operator== ( const char *  str) const
bool ppl6::CString::operator== ( const CString str) const
bool ppl6::CString::operator> ( const char *  str) const
bool ppl6::CString::operator> ( const CString str) const
bool ppl6::CString::operator>= ( const char *  str) const
bool ppl6::CString::operator>= ( const CString str) const
char ppl6::CString::operator[] ( int  pos) const
void ppl6::CString::PregEscape ( )

Der Befehl scannt den String nach Zeichen mit besonderer Bedeutung in einer Perl-Regular-Expression und escaped sie mit einem Slash. Das Ergebnis kann dann in einer Regular Expression verwendet werden.

Es werden folgende Zeichen Escaped: .+*?[^]$(){}=!<>|:/

int ppl6::CString::PregMatch ( const char *  expr,
CArray res = NULL 
)

Durchsucht den String anhand einer Perl-Expression

Parameter
exprIst eine Perl-kompatible Regular Expression, die mit Slash (/) beginnt und endet. Optional können nach dem schließenden Slash folgende Optionen angegeben werden:
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    resist ein Optionales Array, in dem die gefundenen Matches gespeichert werden. Wird res nicht angegeben, werden die Ergebnisse intern gespeichert und können mit der Funktion GetMatch ausgelesen werden.
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
int ppl6::CString::PregMatch ( const CString expression,
CArray res 
) const
int ppl6::CString::PregReplace ( const char *  expr,
const char *  replace,
int  maxreplace = 0 
)
Parameter
expris a perl compatible regular expression, starting and ending with slash (/).
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    replaceist ein Pointer auf eine Stringklasse, die den Text enthält, der anstelle des Matches eingesetzt wird. Werden in der Expression Klammern zum capturen verwendet, können diese Werte mit $1 bis $9 im Replace-String verwendet werden.
    maxreplaceist optional. Wenn vorhanden, werden nur soviele Matches ersetzt, wi mit maxreplace angegeben. Wurden zum Beispiel 10 Matches gefunden, aber maxreplace wurde mit 5 angegeben, werden nur die ersten 5 Matches ersetzt.
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
int ppl6::CString::PregReplace ( const char *  expr,
CString replace,
int  maxreplace = 0 
)
Parameter
expris a perl compatible regular expression, starting and ending with slash (/).
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    replaceist ein Pointer auf eine Stringklasse, die den Text enthält, der anstelle des Matches eingesetzt wird. Werden in der Expression Klammern zum capturen verwendet, können diese Werte mit $1 bis $9 im Replace-String verwendet werden.
    maxreplaceist optional. Wenn vorhanden, werden nur soviele Matches ersetzt, wi mit maxreplace angegeben. Wurden zum Beispiel 10 Matches gefunden, aber maxreplace wurde mit 5 angegeben, werden nur die ersten 5 Matches ersetzt.
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
void ppl6::CString::Print ( bool  attach_newline = false) const
void ppl6::CString::ReCalcLen ( )
private
CString & ppl6::CString::Repeat ( int  num)
CString & ppl6::CString::Repeat ( const char *  str,
int  num 
)
CString & ppl6::CString::Repeat ( char  ascii,
int  num 
)

Der String wird mit einem gewünschten Zeichen gefüllt

Parameter
asciiDer ASCII-Code des Zeichens, mit dem der String gefüllt werden soll
numDie Länge des gewünschten Strings
Rückgabe
liefert einen neuen String zurück
CString & ppl6::CString::Repeat ( const CString str,
int  num 
)
CString & ppl6::CString::Replace ( const char *  str,
const char *  byStr 
)
int ppl6::CString::Reserve ( ppluint32  size)
CString ppl6::CString::Right ( ppluint32  len) const
void ppl6::CString::RTrim ( )
void ppl6::CString::RTrim ( const char *  str)
void ppl6::CString::Set ( const char *  text,
int  bytes = -1 
)

Mit Set wird dem String ein Wert zugewiesen.

Parameter
textEin Pointer auf einen C-String, der in die String-Klasse kopiert werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Set ( const CString str,
int  bytes = -1 
)

Mit Set wird dem String ein Wert zugewiesen.

Parameter
strEin Pointer auf eine CString-Klasse, dessen Inhalt kopiert werden soll
bytesOptionale Anzahl zu kopierender Bytes. Bei Angabe von 0 oder wenn der Parameter weggelassen wird, wird der komplette String übernommen.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Set ( const CString str,
int  bytes = -1 
)

Mit Set wird dem String ein Wert zugewiesen.

Parameter
strEin Pointer auf eine CString-Klasse, dessen Inhalt kopiert werden soll
bytesOptionale Anzahl zu kopierender Bytes. Bei Angabe von 0 oder wenn der Parameter weggelassen wird, wird der komplette String übernommen.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Set ( const CWString str,
int  size = -1 
)

Mit Set wird dem String ein Wert zugewiesen.

Parameter
strEin Pointer auf eine CWString-Klasse, dessen Inhalt kopiert werden soll
sizeOptionale Anzahl zu kopierender Zeichen. Bei Angabe von 0 oder wenn der Parameter weggelassen wird, wird der komplette String übernommen.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Set ( const std::string &  str,
int  bytes = -1 
)
void ppl6::CString::Set ( const std::wstring &  str,
int  size = -1 
)
void ppl6::CString::Set ( const wchar_t *  text,
int  chars = -1 
)

Mit Set wird dem String ein Wert zugewiesen.

Parameter
textEin Pointer auf einen WideCharacter-String, der in die String-Klasse kopiert werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Zeichen angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::SetChar ( char  c)
void ppl6::CString::SetChar ( char  c,
int  pos 
)

Mit dieser Funktion kann ein einzelnes Zeichen an einer bestimmten Position des Strings überschrieben werden.

Parameter
[in]cASCII-Code des gewünschten Zeichens
[in]posPosition innerhalb des Strings, wobei 0 das erste Zeichen bedeutet. Ist der Wert negativ, wird die Position vom Ende des Strings berechnet. -1 wäre dabei das letzte Zeichen des Strings. Eine besondere Behandlung wird durchgeführt, wenn pos mit der Länge des Strings übereinstimmt. In diesem Fall wird die Funktion CString::AddChar aufgerufen und das Zeichen am Ende angehangen.
void ppl6::CString::Setf ( const char *  fmt,
  ... 
)
void ppl6::CString::setInitialBuffersize ( ppluint32  size)
static
void ppl6::CString::Shl ( char  c,
int  size 
)

Der String wird um die mit size angegebenen Zeichen nach links verschoben und rechts mit dem durch c angegebenen Zeichen aufgefüllt.

Parameter
cDas Zeichen, mit dem der String auf der rechten Seite aufgefüllt werden soll. Wird der Wert 0 verwendet, findet keine Auffüllung statt, d.h. der String verkürzt sich einfach.
sizeDie Anzahl Zeichen, um die der String nach links verschoben werden soll. Ist size größer als die Länge des Strings, wird der String komplett geleert und ist anschließend so groß wie size, sofern c>0 war.
void ppl6::CString::Shr ( char  c,
int  size 
)

Der String wird um die mit size angegebenen Zeichen nach rechts verschoben und links mit dem durch c angegebenen Zeichen aufgefüllt.

Parameter
cDas Zeichen, mit dem der String auf der linken Seite aufgefüllt werden soll. c muß größer 0 sein.
sizeDie Anzahl Zeichen, um die der String nach rechts verschoben werden soll. Ist size größer als die Länge des Strings, wird der String komplett geleert und ist anschließend so groß wie size.
ppluint32 ppl6::CString::Size ( ) const

Diese Funktion gibt die Länge des Strings zurück.

Rückgabe
Gibt entweder die Länge des Strings in Byte zurück, oder 0, wenn der String Leer ist.
Siehe auch
Len
Length
void ppl6::CString::Sprintf ( const char *  fmt,
  ... 
)

Diese Funktion ist vergleichbar mit dem Standard-C-Kommando sprintf und unterstützt die gleiche Formatierung.

Parameter
fmtEin Pointer auf einen Format-String.
...Bliebig viele weiteren Parameter.
Rückgabe
Nichts
int ppl6::CString::StrCaseCmp ( const char *  str,
int  size = 0 
) const
int ppl6::CString::StrCaseCmp ( const CString str,
int  size = 0 
) const
int ppl6::CString::StrCmp ( const char *  str,
int  size = 0 
) const
int ppl6::CString::StrCmp ( const CString str,
int  size = 0 
) const
void ppl6::CString::Strcpy ( const CString str)
Parameter
strDer zu kopierende String
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Strcpy ( const char *  str)
Parameter
strEin Pointer auf einen C-String, der in die String-Klasse kopiert werden soll
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::StripSlashes ( )
void ppl6::CString::Strncpy ( const char *  str,
size_t  bytes 
)
Parameter
strEin Pointer auf eine CString-Klasse, dessen Inhalt kopiert werden soll
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
void ppl6::CString::Strncpy ( const CString str,
size_t  bytes 
)
Parameter
strZu kopierender String
bytesEin Optionaler Parameter, der die Anzahl zu kopierender Bytes angibt. Wird der Parameter nicht angegeben, wird der komplette String übernommen. Ist bytes länger als der in tmp enthaltene String, wird nur bis zum 0-Byte kopiert.
Rückgabe
Nichts
Zu beachten
Bei erfolgreichem Setzen des Strings wird die CVar::Change aufgerufen, die ihrerseits eine Callback-Funktion aufruft, sofern diese definiert wurde.
CString ppl6::CString::SubStr ( ppluint32  start,
ppluint32  len = 0xffffffff 
) const
Beschreibung:
Mit dieser Funktion wird ein Ausschnitt des vorhandenen Strings ab der Position start mit einer Länge von len Bytes (nicht Zeichen!) in einen neuen String kopiert und zurückgegeben.
Parameter
startStartposition innerhalb des Strings
lenOptionale Angabe der Länge. Wird der Parameter nicht angegeben, wird der String ab der Startposition start bis zum Ende kopiert
Rückgabe
Neuer String, der den gewünschten Ausschnitt enthält. Ist start größer als der vorhandene String, wird ein leerer String zurückgegeben. Ist start + len größer als der vorhandene String, wird nur der Teil ab start bis zum Ende zurückgegeben.
bool ppl6::CString::ToBool ( ) const
double ppl6::CString::ToDouble ( ) const
float ppl6::CString::ToFloat ( ) const
int ppl6::CString::ToInt ( ) const
pplint64 ppl6::CString::ToInt64 ( ) const
long ppl6::CString::ToLong ( ) const
long long ppl6::CString::ToLongLong ( ) const
int ppl6::CString::Transcode ( const char *  fromcharset,
const char *  tocharset = "UTF-8" 
)
Include:
#include <ppl6.h>
Beschreibung:
Sofern die "libiconv"-Library einkompiliert wurde, kann diese Funktion verwendet werden, um den String von einem Character-Encoding in ein anders umzuwandeln.
Parameter
[in]fromcharsetEin Pointer auf einen String, der den Namen des Quell-Encodings enthält, beispielsweise "ISO-8859-1".
[in]tocharsetEin Pointer auf einen String, der den Namen des Ziel-Encodings enthält, beispielsweise "UTF-8"
Rückgabe
Im Erfolgsfall liefert die Funktion true (1) zurück, im Fehlerfall false (0). Es können folgende Fehler auftreten_
  • 2: Nicht genug Speicher (ENOMEM)
  • 194: Parameter darf nicht NULL sein
  • 286: LibIconv ist nicht einkompiliert
  • 287: Charset wird nicht unterstuetzt
  • 288: Charset ist nicht initialisiert
  • 289: Konvertierung fehlgeschlagen
Siehe auch
Siehe auch die Klasse CIconv
Seit
PPL Version 6.0.19
int ppl6::CString::Transcode ( const char *  fromcharset,
const char *  tocharset,
CBinary Target 
) const
int ppl6::CString::TranscodeText ( const CString text,
const char *  fromcharset,
const char *  tocharset = "UTF-8" 
)
Include:
#include <ppl6.h>
Beschreibung:
Sofern die "libiconv"-Library einkompiliert wurde, kann diese Funktion verwendet werden, um den String von einem Character-Encoding in ein anders umzuwandeln.
Parameter
[in]textDer zu transkodierende String
[in]fromcharsetEin Pointer auf einen String, der den Namen des Quell-Encodings enthält, beispielsweise "ISO-8859-1".
[in]tocharsetEin Pointer auf einen String, der den Namen des Ziel-Encodings enthält, beispielsweise "UTF-8"
Rückgabe
Im Erfolgsfall liefert die Funktion true (1) zurück, im Fehlerfall false (0). Es können folgende Fehler auftreten_
  • 2: Nicht genug Speicher (ENOMEM)
  • 194: Parameter darf nicht NULL sein
  • 286: LibIconv ist nicht einkompiliert
  • 287: Charset wird nicht unterstuetzt
  • 288: Charset ist nicht initialisiert
  • 289: Konvertierung fehlgeschlagen
Siehe auch
Siehe auch die Klasse CIconv
Seit
PPL Version 6.0.19
int ppl6::CString::TranscodeText ( const char *  text,
const char *  fromcharset,
const char *  tocharset = "UTF-8" 
)
Include:
#include <ppl6.h>
Beschreibung:
Sofern die "libiconv"-Library einkompiliert wurde, kann diese Funktion verwendet werden, um den String von einem Character-Encoding in ein anders umzuwandeln.
Parameter
[in]textPointer auf den zu transkodierenden String
[in]fromcharsetEin Pointer auf einen String, der den Namen des Quell-Encodings enthält, beispielsweise "ISO-8859-1".
[in]tocharsetEin Pointer auf einen String, der den Namen des Ziel-Encodings enthält, beispielsweise "UTF-8"
Rückgabe
Im Erfolgsfall liefert die Funktion true (1) zurück, im Fehlerfall false (0). Es können folgende Fehler auftreten_
  • 2: Nicht genug Speicher (ENOMEM)
  • 194: Parameter darf nicht NULL sein
  • 286: LibIconv ist nicht einkompiliert
  • 287: Charset wird nicht unterstuetzt
  • 288: Charset ist nicht initialisiert
  • 289: Konvertierung fehlgeschlagen
Siehe auch
Siehe auch die Klasse CIconv
Seit
PPL Version 6.0.19
int ppl6::CString::TranscodeText ( const char *  text,
int  size,
const char *  fromcharset,
const char *  tocharset = "UTF-8" 
)
Include:
#include <ppl6.h>
Beschreibung:
Sofern die "libiconv"-Library einkompiliert wurde, kann diese Funktion verwendet werden, um den String von einem Character-Encoding in ein anders umzuwandeln.
Parameter
[in]textPointer auf den zu transkodierenden String
[in]sizeDie Größe des Strings in Bytes
[in]fromcharsetEin Pointer auf einen String, der den Namen des Quell-Encodings enthält, beispielsweise "ISO-8859-1".
[in]tocharsetEin Pointer auf einen String, der den Namen des Ziel-Encodings enthält, beispielsweise "UTF-8"
Rückgabe
Im Erfolgsfall liefert die Funktion true (1) zurück, im Fehlerfall false (0). Es können folgende Fehler auftreten_
  • 2: Nicht genug Speicher (ENOMEM)
  • 194: Parameter darf nicht NULL sein
  • 286: LibIconv ist nicht einkompiliert
  • 287: Charset wird nicht unterstuetzt
  • 288: Charset ist nicht initialisiert
  • 289: Konvertierung fehlgeschlagen
Siehe auch
Siehe auch die Klasse CIconv
Seit
PPL Version 6.0.19
void ppl6::CString::Trim ( )
void ppl6::CString::Trim ( const char *  str)
void ppl6::CString::TrimL ( ppluint32  chars)

Schneidet Zeichen auf der linken Seite des Strings ab

Parameter
charsgibt an, wieviele Zeichen abgeschnitten werden sollen
void ppl6::CString::TrimR ( ppluint32  chars)

Schneidet Zeichen auf der rechten Seite des Strings ab

Parameter
charsgibt an, wieviele Zeichen abgeschnitten werden sollen
void ppl6::CString::UCase ( )
void ppl6::CString::UCWords ( )
Beschreibung:
Diese Funktion wandelt die Anfangsbuchstaben aller im String enthaltenen Wörter in Großbuchstaben um.
void ppl6::CString::VaSprintf ( const char *  fmt,
va_list  args 
)

Erzeugt einen formatierten String. Erzeugt einen formatierten String

Parameter
fmtDer Formatstring
argsPointer auf Liste der Parameter. Muss zuvor mit va_start initialisiert worden sein.
Example:
void MyFunction(const char *fmt, ...)
{
CString String;
va_list args;
va_start(args, fmt);
String.VaSprintf(fmt,args);
va_end(args);
printf ("Ergebnis: %s",(char*)String);
}
void ppl6::CString::Vasprintf ( const char *  fmt,
va_list  args 
)

Erzeugt einen formatierten String

Parameter
fmtDer Formatstring
argsPointer auf Liste der Parameter. Muss zuvor mit va_start initialisiert worden sein.
Example:
void MyFunction(const char *fmt, ...)
{
CString String;
va_list args;
va_start(args, fmt);
String.VaSprintf(fmt,args);
va_end(args);
printf ("Ergebnis: %s",(char*)String);
}

Dokumentation der Datenelemente

char* ppl6::CString::buffer
private
ppluint32 ppl6::CString::buffersize
private
ppluint32 ppl6::CString::len
private
CArray* ppl6::CString::matches
private
ppluint8 ppl6::CVar::type
protectedinherited

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: