Da C++ als Erweiterung von C entworfen wurde, kann man wie gewohnt die Headerdateien aus C einbinden und die zugehörigen Funktionen aufrufen:
#include <string.h> // ... char *p = ... strcpy( p, "blabla" );
Als Alternative dazu kann man aber auch eine Headerdatei verwenden, die dem aus C gewohnten Namen entspricht, aber mit einem vorangestellten c und ohne Dateiendung; beispielsweise:
#include <cstring>
Die so deklarierten Funktionen stehen (wie alles in den Headerdateien der Standardbibliothek Definierte) im Namensbereich std, und können also entweder so:
std::strcpy( p, "blabla" );oder so:
using namespace std; strcpy( p, "blabla" );aufgerufen werden:
Siehe dazu auch Namensbereiche (namespace).
Da die C-Funktionen in C++ identisch verwendet werden können und in [KW:0 ist false] beschrieben sind, werden sie hier nicht wiederholt.
Zu beachten ist allerdings, daß nicht alle C-Funktionen in C++ sinnvoll verwendet werden können:
setjmp()
und longjmp()
haben in C++ nichts
verloren.
[]
zugreifen kann,
obwohl die Elemente nicht aufeinanderfolgend zu finden sind. Dann kann
man diese beiden Funktionen nicht verwenden. Weiterhin sortiert
qsort() Elemente um, ohne sich um deren Typ zu kümmern. Das geht
dann schief, wenn die zu sortierenden Elemente nicht einfach im
Speicher verschoben werden dürfen (weil sie beispielsweise interne
Zeiger pflegen müssen, oder weil anderweitig Referenzen darauf
verweisen); qsort() wird niemals Elemente verschieben, indem an
der neuen Stelle das alte Element freigegeben wird und ein Copy-Konstruktor den Speicher initialisiert anhand des
dahin zu kopierenden Elements.
AnyWare@Wachtler.de