Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

C++ Größe eines String Array ermitteln

HI

ich möchte die Größe eines String Arrays ermitteln aber das läuft nich so recht.

Bitte um Hilfe

BWA


Antworten zu C++ Größe eines String Array ermitteln:

Moin,

Du solltest genauer beschreiben was Du willst. Was genau meinst Du mit String-Array?

Willst Du die Länge eines Strings in Form eines char-arrays ermitteln:

strlen( string );

oder vielleicht die Länge eines CStrings?

string.GetLength();

oder etwa die Länge eines std::string?

string.size();

Ich vermute mal das Du die erste Variante meinst. Denke daran das solche Strings immer mit '\0' terminiert sein muss.

nein die Größe eine std::string ARRAYS

Nochmal moin,

mir fällt gerade ein, dass Du natürlich auch ein Array, welches Strings enthält, meinen könntest ;)

Wie Du das am besten machst hängt wieder von Deinem speziellen Code ab. Du könntest das z.B. mit einer fertigen Containerklasse a la std::vector machen. Diese Klasse enthält dann wieder eine Methode size().
Falls Du das Array 'von Hand' strickst wäre es wahrscheinlich am besten eine Integervariable 'laenge' dafür anzulegen welche jeweils die aktuelle Länge enthält. Da du das ganze eh in C++ machst sollte man ggf. darüber nachdenken das ganze Array als Klasse zu implementieren.

Wie gesagt, die beste Lösung hängt natürlich von Deinem konkreten Gebrauchszweck ab.

Schau doch einfach mal hier : http://www.computerhilfen.de/hilfen-14-34126-0.html

Dort erfährst du, wie du eine 'etwas' bessere Antwort bekommen könntest, ohne 100e von Postings zu erstellen, die in kleinen Schritten auf dein Problem zu kommen.

Zufälliges Beispiel :

const char bla_string[] = "bla fasel";
const int bla_string_length = sizeof( bla_string ) / sizeof( bla_string[0] );

Habe ich auch schon versucht aber sobald ich das Array an eine Funktion übergebe bekomme ich den Wert 1.

Normalerweiße sizeof([Array mit 4 Elementen]) == 16Byte
Nach der Übergabe sizeof([gleiches Array]) == 4Byte

Stringlänge == 4Byte

16/4 = 4;
4/4 = 1;

An dem bin ich gescheitert.

Poste doch einfach mal einen konkreten, relevanten Code.

Ich habs aufgegeben aber trotzdem danke.

MFG BWA

habe das gleiche problem..

also wiefolgt:

string textures[] = { "chess.dds", "clouds.dds", "fire.dds" };


wie komme ich jetzt auf die anzahl der elemente (3)??
(wenn's nur mit der vector-klasse geht, bitte ich um ein beispiel!)

danke im voraus!


« Freeware Engine gesuchtGothic-Leveleditor »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Unterlänge
In der Typographie lassen sich die einzelnen Buchstaben des Alphabets in ein sogenanntes Linienraster oder Liniensystem vertikal einfügen. Nun lassen sich drei versc...

Formatieren
  Das Formatieren einer Festplatte, HDD oder SSD bereitet das Laufwerk auf neue Daten vor. Dazu werden sämtliche alten Daten gelöscht, damit die...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...