Veröffentlicht 5. April 200223 j 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?
5. April 200223 j 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
5. April 200223 j 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.
5. April 200223 j 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?
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.