el problema es que cuando intento usar la función de esta manera por ejemplo:
char *cadena1 = "texto1";
char *cadena2 = "textoprueba";
cadena = cadena2 = malloc(128*sizeof(char));
printf("%s ", stringLen(cadena1,cadena2,128,128));
me da error fatal, ahora si por ejemplo cambio el printf por este:
printf("%c", stringLen(cadena1,cadena2,128,128));
me imprime el primer caracter de la cadena mas larga en este caso imprimiria
"t" de "textoprueba".
Como hago para solucionar que me imprima la cadena completa..?
Código C:
Ver original
char stringLen(const char *string1, const char *string2, int len, int len2) { short i=0,c=0, c2=0; while (*(string1++) != '\0' && i<len) { c++; i++; } i=0; while (*(string2++) != '\0' && i<len2) { c2++; i++; } string1 -= (c+1); string2 -= (c2+1); if (c>c2) return *string1; else return *string2; }