[Risolto] Memset su campo di una struct [C]
[Risolto] Memset su campo di una struct [C]
avendo la seguente struttura
typedef struct{
char pippo[30];
int rif_file[31];
} rec_tab_ric;
rec_tab_ric tabric[100];
Vorrei settare a zero il campo dei bit di rif_file di ogni struttura presente nell'array di strutture tabric.
Per questo mi serve la memset ma non so come dare i parametri.... Sapete darmi una mano? grazie in anticipo!
typedef struct{
char pippo[30];
int rif_file[31];
} rec_tab_ric;
rec_tab_ric tabric[100];
Vorrei settare a zero il campo dei bit di rif_file di ogni struttura presente nell'array di strutture tabric.
Per questo mi serve la memset ma non so come dare i parametri.... Sapete darmi una mano? grazie in anticipo!
Ultima modifica di Aegis80 il venerdì 28 settembre 2007, 19:45, modificato 1 volta in totale.
Re: Memset su campo di una struct [C]
Se dai
ottieni:
dovresti fare:
ovvero anche
Codice: Seleziona tutto
man memset
perciò per ogniMEMSET(3) Linux Programmer’s Manual MEMSET(3)
NAME
memset - fill memory with a constant byte
SYNOPSIS
#include
void *memset(void *s, int c, size_t n);
DESCRIPTION
The memset() function fills the first n bytes of the memory area
pointed to by s with the constant byte c.
RETURN VALUE
The memset() function returns a pointer to the memory area s.
....
Codice: Seleziona tutto
tabric[i]Codice: Seleziona tutto
memset ((void*)tabric[i].rif_file, 0, 31*sizeof(int));
Codice: Seleziona tutto
memset ((void*)tabric[i].rif_file, 0, sizeof(tabric[i].rif_file));
- difesaparcosempione
- Rampante Reduce

- Messaggi: 6031
- Iscrizione: giovedì 27 luglio 2006, 19:06
- Località: Torino
- Contatti:
Re: Memset su campo di una struct [C]
Attenzione che se quelle 100 strutture sono dichiarate come variabile GLOBALE non serve inizializzare a zero in quanto dovrebbe averlo già fatto automaticamente il sistema.
ciao

ciao
Re: Memset su campo di una struct [C]
Meglio non fidarsi.
- difesaparcosempione
- Rampante Reduce

- Messaggi: 6031
- Iscrizione: giovedì 27 luglio 2006, 19:06
- Località: Torino
- Contatti:
Re: Memset su campo di una struct [C]
adesso sottomano non ho l'opzione da dare al compilatore affichè non esegui la memset delle globali con valori 0.
Di default le aree globali sono azzerate, in fase di compilazione si può decidere il contrario.
ciao
Di default le aree globali sono azzerate, in fase di compilazione si può decidere il contrario.
ciao
Re: Memset su campo di una struct [C]
Come dice bit è andato tutto alla grande. Scusate se ho risposto soltanto adesso. vi ringrazio comunque dell'interessamento!!
Ho voluto azzerare tutto per sicurezza perchè dovendo lavorare sui dit del campo se avevo un errore anche per un solo bit settato male ci sarei diventato matto
Ho voluto azzerare tutto per sicurezza perchè dovendo lavorare sui dit del campo se avevo un errore anche per un solo bit settato male ci sarei diventato matto
Ultima modifica di Aegis80 il venerdì 28 settembre 2007, 19:46, modificato 1 volta in totale.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti
