Salve e grazie anticiapatamente,
sto studiando in C, e mi sono scontrato con il problema che cercherò di spiegare in seguito ... La compilazione della seguente funzione non restituisce errori, ma in esecuzione ho un errore. Le due stringhe vengono memorizzate correttamente ma la chiamata della funzione realloc fallisce....
void concat_string()
{
char buffer[256], *string_origin = "", *string_new="";
size_t size_string_origin = 0 , size_string_new = 0 , size_string_conc=0;
size_string_origin = input_string(buffer);
string_origin = (char*) malloc(size_string_origin*(sizeof(char)));
if( strcpy(string_origin, buffer) == NULL)
puts("\nError string origin ");
size_string_new = input_string(buffer);
string_new = (char*) malloc(size_string_new*(sizeof(char)));
if( strcpy(string_new, buffer) == NULL)
puts("\nError string origin ");
size_string_conc = size_string_origin+size_string_new ;
string_origin = (char*) realloc( string_origin ,( size_string_conc)*(sizeof(char)));
strcat(string_origin, string_new);
printf("\nConcatenated string = %s", string_origin);
free(string_new);
free(string_origin);
}