#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef struct StrList
{
int len;
char *str;
}StrList;
StrList *strlist;
char st1[] = "cadena numero 1";
char st2[] ="cadena numero 2";
char st3[] = "cadena numero 3";
void InsertString(char *data){
int len;
char *p;
len = strlen(data);
p = strlist->str;
memcpy(p + strlist->len,data,len);
strlist->len += len;
*(p + strlist->len) = 0x0;
strlist->len++;
}
int main(void){
char *p;
char*c;
char *cpy;
char *copy;
int i;
int nstr=0;
strlist = malloc(sizeof(StrList));
strlist->str = malloc(8192);
copy = malloc(1024);
strlist->len =0;
InsertString(st1);
InsertString(st2);
InsertString(st3);
cpy = copy;
p = strlist->str;
for( i =0; i < strlist->len; i++ , c = p++){
if(*c == 0x0)
nstr++;
if(nstr ==1)
*cpy++ = *p;
}
*cpy = 0x0;
printf("%s", copy);
free(strlist->str );
free(strlist);
free(copy);
return 0;
}