Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/03/2015, 01:56
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 4 meses
Puntos: 22
Respuesta: Contar los registros marcados para borrar [C]

Hola Daniel.
Cita:
Iniciado por rdv316 Ver Mensaje
... no puedo resolver como contar los registros marcados para borrar...
Podrías hacer:
Código C:
Ver original
  1. int aserborrados(char *filename) {
  2.   Traductor tr;
  3.   FILE *fp;
  4.   int count = 0;
  5.  
  6.   if((fp = fopen(filename, "rb" )) == NULL ) {
  7.     perror( "Error" );
  8.     return -1;
  9.   }
  10.  
  11.   while (fread(&tr, sizeof(tr), 1, fp))
  12.     count += tr.marcado == 'X' ? 1 : 0;
  13.  
  14.   fclose(fp);
  15.   return count;
  16. }
(para el ejemplo usé arbitrariamente el caracter 'X' para marcar los que serán borrados)

Ejemplo de uso:
Código C:
Ver original
  1. ...
  2. {
  3.  int aborrar;
  4.  
  5.     aborrar = aserborrados(NOMARCH); // (NOMARCH = nombre del archivo)
  6.     if (aborrar != -1)
  7.       printf("Cantidad de registros a ser borrados: %d", aborrar);
  8.   ...

Saludos.