BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C String-Arrays (http://www.black-board.net/thread.php?threadid=14949)


Geschrieben von Deef am 04.12.2003 um 15:25:

verrückt String-Arrays

Eigentlich eine ganz simple Frage (glaub ich):

Wie erstelle ich einen String-Array in C ?

char[] stringarray [5]; ergibt nen parse error ...

Das ganze Problem hat folgenden Hintergrund:

liste2 = gtk_clist_new_with_titles(3, {"Titel1", "Titel2", "Titel3"} );

Auf diese Art und Weise moechte ich eine GTK_Liste erstellen. Genau so, ist es bei mir im GTK_Buch beschrieben ... leider ergibt auch das einen parse error ...
Also hab ich mir gedacht, ich uebergebe den Array mal als Variable ... Nur leider bekomm ich den Array nicht erstellt.

Danke schonmal und bitte nicht zu sehr flamen ... Ich hab die Loesung echt unter google nicht gefunden ...



Geschrieben von black1654 am 04.12.2003 um 16:06:

 

Ich verstehe zwar nicht viel von deinem Post, aber ein String array sieht so aus :

char name [5];

also hast du einmal ein Paar Klammern zuviel....



Geschrieben von Deef am 04.12.2003 um 16:27:

 

Das ist ein char array ...

Ich will einen String-Array, also einen Array von char-arrays Augenzwinkern



Geschrieben von Misel am 04.12.2003 um 16:32:

  RE: String - Array

Zitat:
Original von Jut@ro
Eigentlich eine ganz simple Frage (glaub ich):

Wie erstelle ich einen String-Array in C ?

char[] stringarray [5]; ergibt nen parse error ...

Das ganze Problem hat folgenden Hintergrund:

liste2 = gtk_clist_new_with_titles(3, {"Titel1", "Titel2", "Titel3"} );

Auf diese Art und Weise moechte ich eine GTK_Liste erstellen. Genau so, ist es bei mir im GTK_Buch beschrieben ... leider ergibt auch das einen parse error ...
Also hab ich mir gedacht, ich uebergebe den Array mal als Variable ... Nur leider bekomm ich den Array nicht erstellt.

Danke schonmal und bitte nicht zu sehr flamen ... Ich hab die Loesung echt unter google nicht gefunden ...


also grundsätzlich kannst Du keine Arrays als Variablen übergeben. Allerhöchstens Pointer, die auf Arrays zeigen.

ansonsten müsstest Du mit

code:
1:
char** stringarray;
oder
code:
1:
char* stringarray;
weiter kommen. Hierbei hast Du aber noch keine Größe des Arrays festgelegt und müsstest wahrscheichlich mit malloc und dynamischem Speicher arbeiten.

Wenn Du aber ... ich glaub jetzt hab ich's ... mit festen Größen Arbeiten willst, reicht auch ein:

code:
1:
char stringarray[stringindex][zeichenlänge]
.



Geschrieben von Deef am 04.12.2003 um 17:06:

 

Hat auch nicht gefunzt ... incompatible Types ....

Hier mal die Definiton der funktion:

GtkWidget* gtk_clist_new_with_titles(gint columns, gchar *titles[]);

Wie bekomm ich diesen pointer auf titles[] hin unglücklich



Geschrieben von Black Star am 04.12.2003 um 17:10:

 

Und niemals vergessen den speicher zu reservieren.
Wenn du einfach mit strcpy die arrays vollmachst, kann das sehr uebel werden.

Wenn du dazu naeheres brauchst, meld dich nochmal, denn wie man ein komplett dynamsiches String-array verwaltet, muesste ich jetzt auch ueberlegen.

[EDIT]
Etwas spaet *g
Das array darf jetzt natuerlich nicht mehr char sein, sondern muss gchar ** sein.
Ich hatte auch mal ein paar seltsame parse-Errors, die sich durch einen Umstieg auf gcc-3 beseitigen liessen.



Geschrieben von phlox81 am 04.12.2003 um 21:17:

 

http://www.c-plusplus.de/forum/viewtopic.php?t=39339

Vielleicht hilfts Augenzwinkern

Devil


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH