All pastes #268653 Raw Edit

Anonymous

public c v1 · immutable
·published 2006-12-05 22:07 UTC
rendered paste body
#include <stdio.h>#include <string.h>#include <stdarg.h>char *strconcat(char *start_string, ...);intmain(int argc, char **argv){    int a = 56;    char coso[2];    sprintf(coso, "%d", a);    printf("%s \n", strconcat("cacca ", coso, " altro") );    exit(0);}char * strconcat(char *start_string, ...){    int len;    va_list args;    char *str, *result;    len = strlen( start_string ) + 1;    va_start( args, start_string );    printf("-- %s \n", start_string); // DEBUG    while( ( str = va_arg( args, char* ) ) ){        printf("[] %d \n", len); // DEBUG        len += strlen( str );        }    va_end( args );    result = malloc( sizeof( char ) * len );    strcpy( result, start_string );    va_start( args, start_string );    while( ( str = va_arg( args, char* ) ) ){        strcat( result, str );        printf("++ %s \n", str);     // DEBUG        printf("-- %s \n", result);  //        }    va_end( args );    return result;} ---------------------------------------------------------------------------OUTPUT-----------------------------------------------------------------Ram Disk:> gcc Projects:AlieM/prova.c -o provRam Disk:> prov-- cacca[] 7[] 9[] 15[] 17++ 56-- cacca 56++  altro-- cacca 56 altro++ b-- cacca 56 altrob++  -- cacca 56 altrob cacca 56 altrob Ram Disk:>