Autor Tema: Funcion para borrar array  (Leído 1773 veces)

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

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Funcion para borrar array
« en: 29 de Agosto de 2016, 13:14:10 »
Saludos estoy  creando una función de borrado general, pero no funciona:

Código: C
  1. #DEFINE SIZE_BUFFER    100  // Tamaño Serial
  2. #define SIZE_IMEI            16                  // Tamaño IMEI
  3.  
  4. char Temp_String_SIM800[SIZE_BUFFER];                   // String
  5. char IMEI[SIZE_IMEI ];                                                  // String
  6.  
  7.  
  8. void CLEAR_BUFFER(char* array,int* size)
  9. {
  10.    memset(array,NULL,size);                  
  11. }

Para luego usarla de esta forma:
Código: C
  1. CLEAR_BUFFER(IMEI,SIZE_IMEI );
  2. CLEAR_BUFFER(Temp_String_SIM800,SIZE_BUFFER);
         

Dice que no es una expresión numérica.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re:Funcion para borrar array
« Respuesta #1 en: 29 de Agosto de 2016, 13:22:24 »
Para que crear una función así, usa el memset directamente.

Código: C
  1. memset( Temp_String_SIM800, 0, SIZE_BUFFER );

o

Código: C
  1. memset( Temp_String_SIM800, 0, sizeof( Temp_String ));

Saludos !

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Re:Funcion para borrar array
« Respuesta #2 en: 29 de Agosto de 2016, 16:30:06 »
Para que crear una función así, usa el memset directamente.
....
Gracias,al final así lo hice.
Voy a probar esa linea, aquí no hay necesidad de poner el tamaño, ya que "sizeof" lo hace, cierto?
Código: C
  1. memset( Temp_String_SIM800, 0, sizeof( Temp_String ));

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re:Funcion para borrar array
« Respuesta #3 en: 29 de Agosto de 2016, 16:31:21 »
Para que crear una función así, usa el memset directamente.
....
Gracias,al final así lo hice.
Voy a probar esa linea, aquí no hay necesidad de poner el tamaño, ya que "sizeof" lo hace, cierto?
Código: C
  1. memset( Temp_String_SIM800, 0, sizeof( Temp_String ));

Exacto !

Desconectado fuente

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 571
Re:Funcion para borrar array
« Respuesta #4 en: 30 de Agosto de 2016, 03:37:39 »
Ojo cvargcal, si el código que has puesto es el que estás intentando compilar, en la linea 1, el primer define lo tienes en mayúsculas (DEFINE), y el compilador distingue entre mayúsculas y minúsculas.
Por esto te dice que SIZE_BUFFER no es una expresión numérica.


 

anything