Newsgroup: it.comp.lang.c
Titolo: Qualche dubbio

Ciao A tutti...
Secondo voi questo pezzo di codice è corretto per azzerare il contenuto
delle variabili della struttura ?
Come fareste voi altrimenti ?
typedef struct {
                        unsigned char year;
                        unsigned char month;
                        unsigned char day;
                      } data;
data mydate;
memset(&mydate,0,sizeof(data));
/* memset non dovrebbe essere ansi  ma eccone la descrizione void
*memset(void *s, int c, size_t n);
    Sets n bytes of a block of memory to byte c. */
Salutoni a tutti Dave

 /* memset non dovrebbe essere ansi
 ...
Scherzi?
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Perchè non provi a stampare il contenuto della struttura dopo aver usato la
setmem o la memset??!!!
--------------------------------
Inviato via 
http://usenet.libero.it

 Perchč non provi a stampare il contenuto della struttura dopo aver usato >
la setmem
setmem() Ovvero una portabilissima funzione turboC ???


 Scherzi?
no no... non scherzo :-) solitamente quando programmo, a parità o quasi di
efficenza del codice,  tendo ad utilizzare quello che il compilatore mi mette
a disposizione ( i cultori della portabilità staranno stramazzando al suolo
:-), ma in fin dei conti i miei programmini li uso solo io sul mio unico
sistema operativo ) e sinceramente non avendo una memoria di ferro non
ricordo se tutte le funzioni che uso siano oppure no ansi...
Ciao e grazie  1000 Dave.

 setmem o la memset??!!!
Lo ho fatto eccome prima di postare il messaggio..., non senpre però la tattica
del provare è corretta, prenditi questo assurdo pezzo di codice:
char buf[100];
memset(buf,0,102);
......
compila, esegui e vedrai che forse parte e non succede nulla magari per 10 vote
poi l' undicesima va tutto in crash eppure il mio nel mio buf sono sicuro che
100 elementi siano posti a zero...
E' corretto provare ma in alcuni casi è sempre meglio avere alle spalle una
corretta conoscenza...
Salutoni Dave.

 setmem o la memset??!!!
Lo ho fatto eccome prima di postare il messaggio..., non senpre però la tattica


 mette
Per quanto mi riguarda e a costo di perdere un po' di efficienza (strana
parola non sempre quantificabile) preferisco usare funzioni standard anche
se non ci sono in vista ne sono prevedibili porting.
In fondo la portabilita' e' un plus che viene fuori quasi gratis usando
funzioni standard.
Ovviamente non e' detto che un programma che usi solo funzioni standard
sia portabile ne che sia possibile realizzare un programma usando solo
funzioni standard... Fino a quando e' possibile perche' non provare a fare
uno sforzo :-)
In ogni caso il "C" e' stato standardizzato dalla ISO, pertanto sarebbe
piu' corretto parlare di funzione standard ISO. Anche se l'ANSI e' uno
dei membri dell'ISO quindi ogni standard ISO e' anche (o dovrebbe essere)
standard ANSI.
C:\>iao Angelo (e le sue quattro nozioni di stndard e organismi di
                standardizzazione)  :-)


 standard ANSI.
   Finche` l'ANSI ne vendera` la documentazione ad un decimo di quello 
che fa l'ISO, io continuerei a chiamarlo ANSI C... ;)
-- 
Alla prossima,
Marco