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?
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
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.
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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden