Arrays von Strukturen
-
Hi!
Was ist falsch an diesem Code?
liste[0] wird in liste[1] kopiert.
Wieso bekomme ich aber nur leere Zeilen wenn ich die liste[1] ausgeben lasse?#include <stdio.h> #include <string.h> struct eintrag{ char vname[10]; char nname[12]; }; struct eintrag liste[2]; int main(void) { strcpy(liste[0].vname,"Keks"); strcpy(liste[0].nname,"Krümmel"); liste[0]=liste[1]; puts(liste[1].vname); puts(liste[1].nname); return 0; }
[ Dieser Beitrag wurde am 29.12.2002 um 13:24 Uhr von an0nym editiert. ]
-
du kannst nicht mit = zuweisen...
probier es einmal mit memcpy()
-
Original erstellt von Shade Of Mine:
du kannst nicht mit = zuweisen...
...Nein?
liste[1]=liste[0]; /* liste[1] bekommt den Inhalt von liste[0]!! */
-
Original erstellt von mady:
Nein?Nein - woher soll denn Dein Compiler wissen, dass Du bei einem "=" 2 strcpy()s durchführen möchtest? char[]s können doch auch nicht per = kopiert werden!
-
Garnicht. Es wird elementweise kopiert.
-
Der Fehler im Code ist die Zeile,
liste[0]=liste[1];
1 und 0 vertauscht.
-
Original erstellt von DrGreenthumb:
**Der Fehler im Code ist die Zeile,liste[0]=liste[1];
1 und 0 vertauscht.**
Es funzt! Da sucht man sich die ****** wund und dann is der Fehler so trivial!!
Danke mein Held!