001
18.03.2004, 21:46 Uhr
Pablo
Supertux (Operator)
|
Meiner Meinung nach sollte es so aussehen:
C++: |
#include <stdio.h> #include <string.h>
char* mystrncat(char *dest, const char *src, size_t n) { char* tmp; int i; if (!dest || !src || !n) return dest=NULL; tmp=&dest[strlen(dest)]; for (i=0; i<n; ++i) tmp[i]=src[i];
tmp[i]=0;
return dest;
}
int main() { char a[10], b[10]; strcpy(a, "Hallo, "); strcpy(b, "Welt!"); mystrncat(a, b, 1); printf("%s\n", a); return 0; }
|
Ausgabe: Hallo, W
Und hat auch (wie strcat) Probleme, wenn dest oder src keine 0-basierende Strings sind. Ich habe getestet und hat funktioniert. Da du gesgat hast, dasselbe tut, habe ich auch die selben Fehler gewählt, d.h. wenn src zu klein ist und so, wirst du auch Segmentation Fault kriegen
Bearbeitung von Pablo: |
Wozu willst du das wissen? Neugier oder Hausaufgabe?
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 18.03.2004 um 21:50 Uhr von Pablo editiert. |