Wolfsbein Geschrieben 5. April 2002 Geschrieben 5. April 2002 Ich habe ein Array mit char * myArray[] = {"text2", "bla", "undnochntext"}; initialisiert. Könnte man das besser machen? Mann muss den Inhalt nicht zur Laufzeit festlegen, sondern vorher im Code. Und wie kann ich jetzt feststellen, was in diesem Array drin ist? Sprich, wenn ich z.B. eine Schleife habe, diese - hier 3 mal - durchlaufen wird? Zitieren
Orffi Geschrieben 5. April 2002 Geschrieben 5. April 2002 Die Länge des Arrays bekommst Du über folgenden Ausdruck: int lenArray = sizeof ( myArray ) / sizeof ( char* ); Natürlich kannst Du in myArray[0] nur Strings speichern die maximal so lang sind wie "text2". Ähnlich verhält es sich mit den anderen beiden Einträgen im Array. "Echte" Strings bekommst Du in C++ mit der Klasse string. Allerdings kennt C keine Strings, da mußt Du Dir mit new helfen, um dynamisch Texte speichern zu können. HTH Jan Zitieren
nic_power Geschrieben 5. April 2002 Geschrieben 5. April 2002 Hallo, Auf einen initialisierten String Array sollte man nicht mehr schreibend zugreifen, da das definitiv Probleme gibt. Am besten, Du machst ein "const char *" drauss, dann warnt Dich auch der Compiler. Mit "new" wirst Du in C nicht weit kommen, da dies ausschliesslich von C++ verwendet wird. In C kannst Du Speicher mit "malloc" anfordern und mit "free" wieder freigeben. Nic PS: Die C++ Klasse string macht auch nichts anderes, als "char *" zu verwenden. Zitieren
Wolfsbein Geschrieben 5. April 2002 Autor Geschrieben 5. April 2002 Der Compiler kann C++. Also kann ich auch CString benutzen. Allerdings bin ich ein Neuling und muss mir erst einmal ein paar Infos zu CString holen. Weiß da jemand was gutes? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.