B
SeppJ schrieb:
Binggi schrieb:
Sieht abenteuerlich as,xD
Aber schein zu funktionieren, merci
Lass mich rate: Du hast keine Ahnung was dies genau macht und warum dein altes Vorhaben nicht funktionierte?
Da hast du falsch geraten, dass ich die Adresse nicht zuerst aufgelöst habe,habe ich verschwitzt. Das casten von tagStruct auf char* ist mir im nachhinein klar geworden.
Wobei der cast auf (int*) nicht sinnvoll ist, denn bekomme ich werte über 255 zurück.
Sorry, habe ich selbst verbessert, da ichs in %c ausgebe fällt der cast auf (int sowieso weg...
Wutz schrieb:
Na und? Megabytes im Hauptspeicher durchzulaufen ist Alltagsgeschäft eines Prozessors.
Ein saubere Lösung, die immer funktionieren würde und auch portabel wäre, wäre genau die Einzelprüfung z.B. mittels Funktion
int istgleich(const struct bla *x,const struct bla *y)
{
...
}
Nichtportabel wäre das memcmp mit compilerabhängigen 'pack' Zeugs, das reduziert die Paddingbytes auf 0.
offsetof wäre auch noch ein portabler Weg, aber so aufwändig wie erstgenannter Fall.
Ja schon, aber im Debuger meiner IDE ist es extrem mühsam 2 structs zu vergleichen... und memcpy ist ja genau das was ich brauche...
EDIT: @Wutz: hast mich glaub falsch verstanden, der memcmp sollte 0 zurückliefern, da theoretisch in beiden das gleiche drin stehen sollte, das hat es aber nicht, darum die ausgabe um zu schauen, elche werte falsch sind.