String problem
-
in C++ gibt es eigentlich keine Strings.
Sie werden durch Char-Arrays initialisiert.char bla[]="Dies ist ein String";Die eckige Klammer muss in diesem Fall keinen Index haben, da ihn der compiler selber erkennt, wenn du den array so definierst.
Du kannst natürlich auch nachzählen und den Index 20 eintragen, wenn du magst
Wieso 20? Ein Char Array endet immer mit einer Binären Null -> \0 welche als 1 Zeichen gelesen wird.
Ansonsten findest du die Definition für String in "std" wie ser1al bereits sagte oder:
#include <cstring>für weitere Stringfunktionen wie:
strcpy
strlen
strcat
usw.
-
nki schrieb:
in C++ gibt es eigentlich keine Strings.

-
nki schrieb:
in C++ gibt es eigentlich keine Strings.
String als 'nativen Datentyp' gibt's in keiner Sprache, denn im Endeffekt verwalten sie intern nur ein char-Array. Trotzdem empfiehlt es sich in 99.9% der Fälle, std::string anstatt char-Arrays zu verwenden.
EDIT: !%&$§ Rechtschreibfehler korrigiert
MfG
GPC
-
GPC schrieb:
Trotzdem empfiehlt es sich in 99.9% der Fälle, std::string anstatt char-Arrays zu verwenden.
Ich verwende auch nur Strings

Ich wollte nur, dass er mal den Hintergrund erfährt..
-
Sehr witzig...

-
ist imho kein hintergrund, sondern wichtigtuerei!

-
oh man, und in wie fern waren eure beiträge jetzt produktiv?
Wenn's hier nicht gestattet ist, zu helfen, dann tut's mir leid...wichtigtuerei... lol klar, die kam ja jetzt mal von euch

Ich helfe eben gern und ich wollte Branemxm nur den Hintergrund nennen und mehr nicht..
und wenn so ne information nicht hilfreich ist, dann weiß ich auch nicht..
-
Nein, du hast ihm absolut nicht geholfen, da du ihm ganz einfach die String-Klasse aus dem ISO-Standard verheimlicht hast. Schon allein dein erster Satz hat dich verraten: "in C++ gibt es eigentlich keine Strings."
Letztendlich hast du nur C-Strings behandelt die man in C++ in 99,9% der Fälle nicht benötigt. Und reinzufällig, in dem C-String-Gewühl kam was von wegen string in std. Das hilft einem C++ Einsteiger seeeehr viel weiter, der froh ist überhaupt durch zublicken.
-
Artchi schrieb:
Nein, du hast ihm absolut nicht geholfen, da du ihm ganz einfach die String-Klasse aus dem ISO-Standard verheimlicht hast. Schon allein dein erster Satz hat dich verraten: "in C++ gibt es eigentlich keine Strings."
Wieso verheimlicht?! Und was heißt hier, dass ich mich verraten habe? Überall steht es so, dass es "eigentlich" keine Strings gibt ja, weil's ursprünglich char arrays sind. Außerdem hab ich nicht gesagt, dass er diese benutzen muss.
Gibts die Funktionen strlen & co. wohl auch im "std"?
-
Auf jeden Fall hast du ganz derb am eigentlichen Problem vorbeigeredet. Wer schon danach fragt, wie man mit 'string' richtig umgehen kann, der will bestimmt nichts über char[]s hören.
(btw, HIER (und damit meine ich das C++ Board) würde ich nur von char[] anfangen, wenn ich direkt danach gefragt würde - eine Etage höher sieht das etwas anders aus)
-
nki schrieb:
Gibts die Funktionen strlen & co. wohl auch im "std"?
Uh, ja. Die alten C Header (dahmit auch string.h) wurden ja in cstring umbenannt und in den Namensraum std gebracht.
MfG
GPC