Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/02/2011, 08:22
cirulo
 
Fecha de Ingreso: diciembre-2010
Mensajes: 21
Antigüedad: 14 años
Puntos: 0
Respuesta: ¿Por qué falla este simple puntero?

Perdona que ha sido un copy-paste y me he equivocado. La inicialización es int n=3, porque siempre que captura cadena_e se tienen tres espacios al comienzo de una línea.

Tenía un código probado y que funciona con todo eso bien compilado. El error me aparece cuando integro la parte del puntero en el código.

Corrijo eso y otro fallo que he visto producto del copy-paste:

Código:
     int n=3;
     char *cap;
     FILE *fichero;
     char cadena_e[256], nombre[256];

     fgets(cadena_e,256,fichero);

     while (cadena_e[n] != ',') 
     {
                 nombre[n-3] = cadena_e[n];
                 n++;
     }

     cap=nombre;

     printf("%s",*cap);   /*No tengo claro si aquí se pone %s o %p o ambos valen*/
     Sleep (1000);

     cap++;
Todo esto es un bucle que se va repitiendo (la parte de variables la he puesto para que veáis de que se trata).

Lo que quiero es tener el puntero con cada nombre en una dirección, y uso el printf como un modo de depurar, viendo por pantalla si me lo hace bien, pero no sale nada, se queda colgado (el programa en sí no requiere del printf).

Saludos y gracias.