PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C: str[n]cpy und überlappende Bereiche


Gast
2008-04-25, 15:17:04
Ich habe gelesen, daß strcpy nicht bei überlappenden Bereichen zwischen Quell und Ziel-String verwendet werden darf. Habe das gerade mal in einer Loop ausprobiert und es hat bisher jedes mal tadellos funktioniert. Naja, undefiniert heißt ja auch nicht, daß es die ersten 100 Male vielleicht nicht doch funktioniert.

Mich interessiert dabei allerdings nur, ob dies nur bestimmte Architekturen betrifft, oder früher oder später überall danebengeht? Oder welche Überlappungskonstellationen man braucht um dort einen Fehler zu provozieren?

thx

Coda
2008-04-25, 15:21:46
Kommt drauf an wie die C-Library implementiert ist. Aber auch da würde ich mich nicht darauf verlassen wenn es nicht eindeutig dokumentiert ist.

Schreib dir das doch selber, wenn du es für überlappende Bereiche brauchst.

ScottManDeath
2008-04-26, 09:39:38
memmove im Gegensatz zu memcpy macht eine Zwischenkopie wenn sich die Bereiche überlappen. Musst halt mit strlen die Länge als Parameter übergeben.