Esta es una pregunta para principiantes, pero por favor tengan paciencia conmigo. Me gustaría pasar un carácter * a una función y llenarla con el contenido de varias cadenas existentes. Aquí es lo que tengo (y no funciona)Populate C parámetro de salida
int func(char *out) {
int i;
int x = 10;
int y = 10;
char array[x][y];
out = malloc(x * y + x);
memset(out, 0x00, strlen(out));
for (i=0; i<x; i++) {
strcat(out, array[i]);
strcat(out, "\n");
}
}
//main
char *result;
func(result);
Por favor muestre su código real - este ejemplo ni siquiera compilará. –
Debería compilar ahora, gracias. –
¡No puede usar 'strlen (out)'! Lea lo que 'strlen' hace (o cómo funcionan las cadenas C, para el caso). En su lugar, debe decir 'x * y + x'. Y asegúrese de que cada 'matriz [i]' tenga terminación nula. –