Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2005, 20:52
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 3 meses
Puntos: 52
punteros char y bidimension en C

Tengo un problema y pues como siempre fui algo malo para los punteros y los chars pues necesito su ayuda.

Tengo una funcion que primero:
Define un char bidimencional
char texto[10][256];
En el argumento de la funcion ay que incluir un puntero de tipo char para que ahi se compie el valor.


void funcion(char *out)
{
char text[10][256];
.....proceso.....
memcpy(out, text, sizeof(text));
}

Despues antes de llamar a la funcion pasa esto:

char *pointer;
pointer=(char *)malloc(2560);

funcion(&pointer);

Ahora, lo que necesito es lo siguiente.....

El char tiene dos dimensiones porque la primera contiene letras y el segunda palabras, es decir, text[0][0]; tiene la primer letra de la primer palabra y asi.

el roblema es que al llamar la funcion y todo, cuando quiero imprimir la palabra de esta manera, me sale un error:

puts(&pointer[palabra][0]);
...el put es es un ejemplo, uso otra funcion que funciona casi igual.....
el error:
......" el subíndice requiere una matriz o tipo de puntero"

entonces intente usar solo:
puts(&pointer[palabra]);
pero me da resultados bien extraños.

Primero me pone la palabra bien, luego me pone la palabra sin la primer letra y asi sucesivamente.

Como puedo hacer para que est no pase, y en ves de mostrarme la misma palabra con menos letra, me muestre las demas palabras.

Saludos