Torna indietro   Hardware Upgrade Forum > Software > Programmazione

GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-08-2003, 19:10   #1
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Confrontare le Date in C

Rieccomi qui per l'ennesima domanda

Se ho delle stringhe TimeStamp in formato GMT (quindi giorno-mese-anno ore.minuti.secondi ) e voglio confrontarle per vedere se un certo Timestamp è precedente o successivo ad un altro, come faccio?

Devo per forza usare la struttura tm ? (non ricordo in che libreria sta)...

Conoscete librerie che fanno questo?

Ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2003, 09:04   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Puoi operare anche sui time_t con la funzione difftime...
La struttura tm è in time.h...

Comunque credo che la soluzione migliore sia di prendere la stringa a riempire i vari campi di una struttura tm con sscanf...

sscanf(oraGMT, "%d-%d-%d %d.%d.%d",....);

Dopo converti le due strutture tm in time_t con mktime e usi difftime per ottenere il risultato...

double diff;

diff = difftime(mktime(&tm1), mktime(&tm2));

printf((diff > 0)?"tm2 è maggiore di tm1 di %d secondi":"tm1 è maggiore di tm2 di %d secondi", (int)diff);

Ultima modifica di cionci : 28-08-2003 alle 09:15.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2003, 09:28   #3
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
grazie..ora provo
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2003, 09:47   #4
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Comunque in ogni caso è sempre bene consultare LA SACRA SCRITTURA :

http://www.gnu.org/manual/glibc-2.2....e%20and%20Time


Vedrai che ti tornerà utile ... (perchè, se non ricordo male, sei uno unixiano).
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2003, 10:01   #5
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Quote:
Originariamente inviato da mjordan
Vedrai che ti tornerà utile ... (perchè, se non ricordo male, sei uno unixiano).

Grazie anhe a te...però sbagli...io sono "Windowsiano"
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2003, 10:13   #6
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da fedo
Grazie anhe a te...però sbagli...io sono "Windowsiano"
Ok. Nessuno è perfetto
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 11:06   #7
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
rieccomi a rompere

stavolta vorrei sapere questo:

ho una struct (chiamiamola "st") i cui elementi sono

char * elem1;
char *elem2;
int elem3;


Vorrei sapere qual è la sintassi per far stampare a video i valori contenuti in quegli elementi.

Usando printf(st->elem1) ...etc
a volte non mi ritorna nulla oppure mi crasha...

Inoltre non so se scrivere *nomevariabile oppure * nomevariabile (notare lo spazio nel secondo caso) , vogliono dire cose diverse...

Scusate, ma i puntatori li odio perchè sono Javista
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 11:49   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per lo spazio puoi fare come più ti piace...

Ma quei puntatori a cosa puntano ? Se fai due puntatori, non li fai puntare a niente e poi li usi è normale che ti crashi il programma...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 14:17   #9
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
puntano ad aree di memoria allocate prima con malloc e poi inizializzate con dei caratteri tramite strcpy..

non và bene?
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 14:54   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì, ma dovresti farci vedere il codice
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 19:05   #11
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
ok, quel problema l' ho risolto..

qualcuno se ne intende di bufferizzazione in RAM?



FILE *fp_cache;
/*** Prepara il registro di cache ad essere usato. ***/
void cache_init()
{
if ((fp_cache = fopen("cache_reg.dat","r+")) == NULL) printf("Errore nell'apertura del registro di cache");


setvbuf(fp_cache,NULL,_IOLBF,BUFF_LEN); //Bufferizza in RAM il registro di cache per migliorare le prestazioni in lettura e scrittura.
}


Le operazioni che faccio in seguito sul puntatore fp_cache (tipo fread(fp...etc), è sicuro che me le fa in RAM e non su disco?

E poi aggiorna il file su disco quando il buffer è pieno o in momenti di calma... questa funzione setvbuf non l'ho mai usata..

per la cronaca,tutta questa storia è per un server http.

Ciao ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2003, 22:28   #12
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da fedo
ok, quel problema l' ho risolto..

qualcuno se ne intende di bufferizzazione in RAM?



FILE *fp_cache;
/*** Prepara il registro di cache ad essere usato. ***/
void cache_init()
{
if ((fp_cache = fopen("cache_reg.dat","r+")) == NULL) printf("Errore nell'apertura del registro di cache");


setvbuf(fp_cache,NULL,_IOLBF,BUFF_LEN); //Bufferizza in RAM il registro di cache per migliorare le prestazioni in lettura e scrittura.
}


Le operazioni che faccio in seguito sul puntatore fp_cache (tipo fread(fp...etc), è sicuro che me le fa in RAM e non su disco?

E poi aggiorna il file su disco quando il buffer è pieno o in momenti di calma... questa funzione setvbuf non l'ho mai usata..

per la cronaca,tutta questa storia è per un server http.

Ciao ciao

Ti ripeto, cerca sulla BIBBIA
mjordan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Tesla Model 3: la Long Range RWD entra n...
Da uno sgarbo di EA è nato il pi&...
BYD preferisce la Spagna alla Germania p...
L'IA secondo Oracle: arrivano Oracle AI ...
Nasce la collaborazione Netflix-Spotify:...
Tineco Floor One Switch S7, la super sco...
Nuova Renault Clio: listino, motorizzazi...
Samsung cambia tutto: i lavoratori potra...
L'ex CEO di Intel avverte: la bolla dell...
Un milione di chilometri garantiti e 100...
AMD sfida Qualcomm? Nuovi indizi sul pri...
YouTube si rinnova: nuovo video player c...
Windows 11, arriva il Patch Tuesday di o...
Serve un minuto per risparmiare davvero ...
Windows 10 riceve l'ultimo Patch Tuesday...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v