ayuda con esta funcion

Iniciado por Fer995, 2 Marzo 2011, 20:53 PM

0 Miembros y 1 Visitante están viendo este tema.

Fer995

necesito ayuda con esta funcion:

STATUS readItem(char **cadena, char *read_item);

necesito que haga esto:

obtiene el siguiente ítem de la cadena de entrada, modificando a su vez dicha cadena para que apunte a la siguiente posición a dicho ítem. La función copiará en read_item el ítem leído.

y es que el problema me viene porque no entiendo bien a que se refiere con que tiene que apuntar al siguiente item y no entiendo lo del doble * en cadena..

gracias por la ayuda!

El_Java

Hola Fer995, no conozco para nada la función que quieres usar pero por lo que he visto en tu comentario...
en *readitem se creara un puntero señalando al item que quieras comprobar su estado, por lo que tienes que ponerlo ahi.
y el char **cadena, indica que en la función se creará un puntero que señala a otro puntero de tipo char, al llamarse cadena intuyo que el puntero apuntara a una cadena como "char CADENA[10]", entiendes?

yo estoy comenzando con C++, asi que corrijanme si me equivoco  :xD

Akai

Lo del char **cadena, es un doble puntero, también visto como un puntero a puntero a carácter, puntero a vector de caracteres, o por ejemplo, un vector de palabras.

Imagínatelo como una matriz, al fin y al cabo es eso. salvo que en vez de ser una matriz de enteros, es una matriz de caracteres. Acceder a cadena[j] te da un carácter, acceder a cadena (nótese sólo un []) te da una cadena.

Espero haberme explicado bien, de forma que se entienda.

Por otro lado, el enunciado es confuso, pero básicamente te está diciendo, que una vez copies el elemento, modifiques el doble puntero para que apunte al siguiente elemento al que acabas de copiar.

cadena++;

de esa forma desplazas el puntero a la siguiente "palabra". Una forma bastante oscura, pero bueno...