Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/12/2013, 08:15
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 14 años, 1 mes
Puntos: 13
Respuesta: Arreglos,punteros y sprintf.-

Cita:
Iniciado por RoDaVi Ver Mensaje
Hola guzzano.
Seguramente debe ser funcional tú código, pero por el momento y por mis conocimientos no logro implementarlo, no me sirve con tan sólo copiar y pegar debo entender lo que hace cada línea.-
Muchas gracias por el código por el momento lo solucioné con esto:

Código C:
Ver original
  1. ptrPN[strlen(ptrPN)-1]='\0';

Saludos.
Daniel
Esa también es buena solución, pero estaría mejor si compruebas lo que te devuelve strlen. Si por algún caso, la variable está vacía, entonces strlen devolvería 0, y la dirección que va a escribir el \0 será -1 lo cual hará que el programa falle.

Código C:
Ver original
  1. char *
  2. fgets_fix (char * buff, size_t bufflen, FILE * fp)
  3. {
  4.   if (fgets(buff, bufflen, fp) != NULL) // Devolverá NULO si hay un error.
  5.   {
  6.     char * nw = NULL; // Se crea un puntero nulo.
  7.       nw = strchr(buff, '\n'); //strchr busca en la variable buff el carácter \n y devuelve la posición en la memoria donde está ese carácter.
  8.      
  9.     if (nw != NULL) // Verificamos que nw tenga valor después de usar el strchr;
  10.       *nw = '\0'; // Le asigamos a la dirección encontrada \0 que antes valía \n
  11.    
  12.     return buff;
  13.   }
  14.  
  15.   return NULL;
  16. }