Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-05-2007, 15:15   #1
ndakota91
Junior Member
 
Iscritto dal: May 2007
Città: Fornovo (PR)
Messaggi: 13
Linux e C - Aiuto!

Salve a tutti gli user del forum, sono ndakota91, e sono nuovo qui. Avrei bisogno di aiuto, sto cercando di programmare in C un programmino sotto Mandriva, e mi serve aiuto con il header "time.h". In pratica uso la seguente funzione per leggere un file:

#include <stdio.h>
#include <time.h>
#include <string.h>
...
while(fgets(buffer, 256, stream) != NULL)
{
sleep(1);
printf("%s", buffer);
}
...
return 0;

In pratica legge una stringa da uno stream, la mette nel buffer, attende un secondo e poi la "printa". Per il mio scopo l'attesa di 1 secondo e' troppo, come faccio a fare "dormire" il PC meno di un secondo?

P.S.:Spero di essere stato chiaro.... Grazie mille a chi mi aiuta
ndakota91 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 15:39   #2
k4ez4r
Senior Member
 
L'Avatar di k4ez4r
 
Iscritto dal: Sep 2004
Città: puɐlɹǝpuoʍ
Messaggi: 1710
Prova con la usleep()
k4ez4r è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:08   #3
ndakota91
Junior Member
 
Iscritto dal: May 2007
Città: Fornovo (PR)
Messaggi: 13
Grazie... pero come si usa?
ndakota91 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:18   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ndakota91 Guarda i messaggi
Grazie... pero come si usa?
Innanzitutto includi <unistd.h>, poi il parametro è unsigned long usec, sono cioè microsecondi.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:19   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da k4ez4r Guarda i messaggi
Prova con la usleep()
Non credo che quella documentazione si riferisca a linux...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:46   #6
k4ez4r
Senior Member
 
L'Avatar di k4ez4r
 
Iscritto dal: Sep 2004
Città: puɐlɹǝpuoʍ
Messaggi: 1710
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
Non credo che quella documentazione si riferisca a linux...
Non lo so, però ho provato l'esempio e a me compila e gira

Codice:
#include <unistd.h>
#include <stdio.h>
#include <time.h>

void timestamp( char *str ) {

    time_t t;

    time( &t );
    printf( "%s the time is %s\n", str, ctime(&t) );
}

int main( int argc, char *argv[] ) {

    int result = 0;

    timestamp( "before usleep()" );
    result = usleep( 999999 );
    timestamp( "after usleep()" );

    printf( "usleep() returned %d\n", result );

    return( result );
}
@ndakota91: ma non hai cliccato sul link?
Quote:
Originariamente inviato da k4ez4r Guarda i messaggi
Prova con la usleep()

Ultima modifica di k4ez4r : 29-05-2007 alle 16:56.
k4ez4r è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:52   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da k4ez4r Guarda i messaggi
Non lo so, però ho provato l'esempio e a me compila e gira
Sì certo, usleep è presente su tutti gli unix, ma su linux non è implementata con i segnali (ma con la nanosleep), funziona anche per sleep superiori a 1000000us e non mi risulta affatto che sia deprecata.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 16:59   #8
k4ez4r
Senior Member
 
L'Avatar di k4ez4r
 
Iscritto dal: Sep 2004
Città: puɐlɹǝpuoʍ
Messaggi: 1710
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
Sì certo, usleep è presente su tutti gli unix, ma su linux non è implementata con i segnali (ma con la nanosleep), funziona anche per sleep superiori a 1000000us e non mi risulta affatto che sia deprecata.
Quindi?

Alla fine non ho capito se usare la usleep() sia bene o male

edit: volevi dire che su linux è meglio usare nanosleep()?
k4ez4r è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 17:10   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da k4ez4r Guarda i messaggi
Quindi?

Alla fine non ho capito se usare la usleep() sia bene o male

edit: volevi dire che su linux è meglio usare nanosleep()?
sta solo dicendo che è meglio linkare la documentazione giusta...
http://www.linuxmanpages.com/man3/usleep.3.php

edit - ... la quale però sostiene autorevolmente che usleep è obsoleta e che è meglio usare nanosleep o setitimer, cosa di cui non mi ero accorto
perciò la risposta è: usare usleep è male

Ultima modifica di 71104 : 29-05-2007 alle 17:13.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 17:24   #10
k4ez4r
Senior Member
 
L'Avatar di k4ez4r
 
Iscritto dal: Sep 2004
Città: puɐlɹǝpuoʍ
Messaggi: 1710
Quote:
Originariamente inviato da 71104 Guarda i messaggi
sta solo dicendo che è meglio linkare la documentazione giusta...
http://www.linuxmanpages.com/man3/usleep.3.php

edit - ... la quale però sostiene autorevolmente che usleep è obsoleta e che è meglio usare nanosleep o setitimer, cosa di cui non mi ero accorto
perciò la risposta è: usare usleep è male
Ok tutti felici con la nanosleep allora
k4ez4r è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 20:23   #11
squeeme
Member
 
Iscritto dal: May 2006
Città: Nettuno
Messaggi: 94
la più agevole era la delay (millsecondi) con la quale creavo le pause x i suoni
__________________
Pentium III 733 SuperSchifo DeLuxe 320 mb di ram meccanica a tamburo, raffreddamento naturale ed ecologico a case aperto. R'N'R!
squeeme è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 22:17   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
per i millisecondi c'è la semplice sleep: quella non è deprecata, anzi è standard POSIX.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 15:58   #13
ndakota91
Junior Member
 
Iscritto dal: May 2007
Città: Fornovo (PR)
Messaggi: 13
71104: Scusa ma con sleep() il sistema attende un certo numero di secondi(almeno a me, forse saro' l'unico al mondo con PC cosi... )

Cioe' se uso sleep(1); [che e' il minimo] il sistema attende un secondo. La mia intenzione era quello di printare un array una lettera alla volta con qualche millisecondo di pausa e far sembrare questa operazione come una "battitura di e-mail" per esempio. Comunque ho provato con usleep(), funziona, qual'e' il problema di questa istruzione?
ndakota91 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 19:59   #14
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ndakota91 Guarda i messaggi
71104: Scusa ma con sleep() il sistema attende un certo numero di secondi
AAAAAARGH hai perfettamente ragione (e lo sapevo pure...), ho commesso un errore madornale perché mi sono confuso con la Sleep (con la S maiuscola) delle Win32, che prende i millisecondi

shame on me*

*trad.: scemo so' io

Quote:
Comunque ho provato con usleep(), funziona, qual'e' il problema di questa istruzione?
e io che ne so, è il man che dice che è obsoleta
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
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: 19:26.


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