gpb01:
... trovata ... l'errore che stai facendo è considerare che ritorna un int o un long int per rappresentare un numero ...Se ti studi il metodo read() vede che : Returns the first byte of incoming data available (or -1 if no data is available) quindi, nella tua while, tu stai stampando CARATTERE a CARATTERE quello che la "echo | cut -d. -f1 /proc/uptime" ti ha ritornato e NON un numero !!!
Per avere un numero dovresti mettere quei caratteri in un char array e convertire poi la stringa ottenuta in un long integer su cui puoi lavorare !
Guglielmo
mmm, grazie per il consiglio ma devo chiederti un'altra cosa... visto che la quantità di caratteri che compongono il "numero" di secondi che mi restituisce il comando su linux varia appunto in base a quanto tempo è passato, come potrei risolverla ? L'ide se dichiaro l'array senza specificare la quantità tra le [] mi fallisce la compilazione ...
Posso far scrivere quello che arriva in una stringa, misurare il lenght della stringa, creare un array della lunghezza della stringa appena misurata e fare array = stringa (come valori) ? funzionerebbe ?