Zeiger und Struktur
-
Tag Leute
bin neu hier !!! habe ein Problem mit einem Zeiger auf eine Struktur:
Als Fehler Meldung kommt halt (Fette Zeile)
(Wollte eine strcmp-funktion nachher machen und den wer nachname mit eingegebenen Wert vergleichen!linker Operand muss ein L-Wert sein
while (pperson!=0)
{
printf("%s %s %s\n",pperson->nname, pperson->vname, pperson->nummer);
nachname=pperson->name;
pperson=pperson->next;
}Bitte um Hilfe !!!
MFG Soulfly
-
was tut nachname denn fuer ein Typ sein tun?
-
Sei Nachname
char nachname[30]
tun!!!!
-
wenn nachname tut ein array sein tun, musse kopieren!
zuweisen nur pointer tut laufen...strncpy(nachname,pperson->name,30-1);
aber wieso tun kopieren wenn nachher vergleichen ??
[edit]wieso bloss immer "-1" vergessen tun ? [/edit]
[ Dieser Beitrag wurde am 15.01.2003 um 18:58 Uhr von Solaris'dUKe editiert. ]
-
Ich zu früh gepostet haben!!
fehler schon sehen !! Trotzdem danke!!
Was ist der untschied zwischenstrcpy
und
strncmp
wie Solaris'dUKe das meinte (weil ich jetzt diese strcpy benutze tun habe)
-
du meinst unterschied zwischen strcpy und strncpy?
strcpy kopiert bis zum \0 und bei strncpy kannst du angeben wie lange der string maximal sein darf:
char arr[]="Hallo";
char c[2];strcpy(c,arr);
das stuertzt abstrncpy(c,arr,2);
stuertzt nicht ab, da nur 2 zeichen kopiert werden
-
Original erstellt von Shade Of Mine:
du meinst unterschied zwischen strcpy und strncpy?
[...]
char arr[]="Hallo";
char c[2];
strncpy(c,arr,2);
stuertzt nicht ab, da nur 2 zeichen kopiert werdenEs stürtzt _NOCH_ nicht ab.. da du aber hier den Null-Abschluss überschreibst,
weiss du nicht genau, wieviele mb beim Weiterkopieren von "c" gelesen werdenedit: sofern "c" jemals ein Null-Abschluss hatte
[ Dieser Beitrag wurde am 15.01.2003 um 19:35 Uhr von Solaris'dUKe editiert. ]
-
Aja
Wieder bin ich ein bißchen schlauer geworden!!
Danke Leute!