Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Range di un File Descriptor ???

    Devo fare un programma che occupi il meno spazio possibile... e quindi devo riddurre al minimo le variabili...

    Ho Visto che nella struttura FILE (file pointer) c'e' un campo che e': 'char fd'...

    Io Ho sempre messo 'int fd'... Quindi mi chiedevo... Che Range di valori puo' assumere un File Descriptor ???
    Posso quindi utilizzare un char invece di un int risparmiando (nel mio caso) 3 byte ???

    Grazie.

  2. #2
    Forse non ho capito bene la tua domanda, cmq:

    un char (8 bit) può assumere valori fino a 128
    se unsigned può arrivare a 256

    un int(su sistemi a 32 bit) può arrivare a 2147483648
    se unsigned 4294967296

    uno short int (16 bit) a 32768
    se unsigned 65536

  3. #3
    Ok... Non hai capito la mia Domanda...

    Un File Descriptor Che range di valore puo' assumere ???
    (Un File Descriptor serve per svolgere Operazioni su file)
    codice:
    ...
    int fd;
    fd = open(file, modalita);
    close(fd);
    ...
    Che valori puo' assumere la variabile fd ???

  4. #4
    Non lo so di preciso, ma siccome il file descriptor è memorizzato in quel char, è quasi certo che non assume valori molto alti. D'altronde il range sembra accettabile se ammetti che non è normale avere più di 255 "file" aperti... quindi credo che ti puoi risparmiare tre byte.

    In ogni caso, siccome "l'esperienza è madre d'ogni certezza" (lo diceva Leonardo... oggi sono acculturato!!!) prova a fare alcune prove e renditi conto direttamente.

    Ciao
    Summum crede nefas animam preferre pudori e propter vitam vivendi perdere causas.
    (Giovenale)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.