strcat
-
Da bastelst du dir einmal eine Funktion:
char * strappend( char *prefix, char *suffix ) { char *str = malloc( strlen( prefix ) + strlen( suffix ) + 1 ); if( !str ) { return NULL; } while( *prefix != 0 ) { *str = *prefix; ++str; ++prefix; } while( *suffix != 0 ) { *str = *suffix; ++str; ++prefix; } *str = 0; return str; }
-
ficky schrieb:
Da bastelst du dir einmal eine Funktion:
das lass besser bleiben. nimm 'strcat' u.ä. die gibts schon fertig.
-
__fricky schrieb:
ficky schrieb:
Da bastelst du dir einmal eine Funktion:
das lass besser bleiben. nimm 'strcat' u.ä. die gibts schon fertig.
Die Funktion war auch nur zur Illustration wie man es händisch machen kann. Aber dann mach ich halt mal die Hausaufgaben:
char * strappend( char *prefix, char *suffix ) { char *str = realloc( prefix, strlen( prefix ) + strlen( suffix ) + 1 ); return strcat( prefix, suffix ); }
-
ficky schrieb:
__fricky schrieb:
ficky schrieb:
Da bastelst du dir einmal eine Funktion:
das lass besser bleiben. nimm 'strcat' u.ä. die gibts schon fertig.
Die Funktion war auch nur zur Illustration wie man es händisch machen kann. Aber dann mach ich halt mal die Hausaufgaben:
char * strappend( char *prefix, char *suffix ) { char *str = realloc( prefix, strlen( prefix ) + strlen( suffix ) + 1 ); return strcat( prefix, suffix ); }
Da hat sich doch glatt der Fehlerteufel eingeschlichen, hier ist die richtige Version:
char * strappend( char *prefix, char *suffix ) { char *str = realloc( prefix, strlen( prefix ) + strlen( suffix ) + 1 ); return strcat( str, suffix ); }
-
^^ das ist doch auch mist. mach mal 'ne funktion ohne malloc/realloc.
-
__fricky schrieb:
^^ das ist doch auch mist. mach mal 'ne funktion ohne malloc/realloc.
Scherzkeks.
-
ficky schrieb:
__fricky schrieb:
^^ das ist doch auch mist. mach mal 'ne funktion ohne malloc/realloc.
Scherzkeks.
#define str_append (erster, zweiter, da_solls_hin) \ sprintf (da_solls_hin, "%s%s", erster, zweiter)
-
__fricky schrieb:
ficky schrieb:
__fricky schrieb:
^^ das ist doch auch mist. mach mal 'ne funktion ohne malloc/realloc.
Scherzkeks.
#define str_append (erster, zweiter, da_solls_hin) \ sprintf (da_solls_hin, "%s%s", erster, zweiter)
Scherzkeks, das bringt einem ja null komma nix, da hat man die nötige Speicherallokation ja weiterhin außerhalb von append. Wenn man genug Speicher hat kann man die Funktionen sowieso direkt aufrufen.
-
ficky schrieb:
...die nötige Speicherallokation...
wieso nötig? meinste nicht, dass es auch ohne geht?
-
__fricky schrieb:
ficky schrieb:
...die nötige Speicherallokation...
wieso nötig? meinste nicht, dass es auch ohne geht?
Im allgemeinen nicht.