QNA > C > Cosa Succede Quando Si Apre Un File Per La Lettura?

Cosa succede quando si apre un file per la lettura?

Devo presumere che stai lavorando in Linux/Unix/MaxOS?

Quando avviamo un programma che diventa un processo otterrà di default tre flussi, flusso di input (stdin), flusso di output (stdout), errore (stderr) (può essere in alcuni sistemi il syslog è anche disponibile di default credo). In effetti, i dettagli di questi flussi per tabella di processo dal sistema operativo noto come tabella dei file aperti. Sapete che gli indici di riga iniziano da 0 nella famiglia C. Così, sono 0,1 e 2 che sono anche indicati nella terminologia Unix/Linux come descrittori di file (nel caso di Windows o altri sistemi operativi possono essere chiamati come gestori di file). Ora, nel vostro programma se aprite un file, viene selezionata una nuova riga vuota in quella riga le informazioni dinamiche dei file vengono mantenute e quel numero di riga diventa descrittore di file per quel file durante quel processo. Ricordate che questi descrittori di file sono numeri dinamici ad eccezione di 0, 1 e 2. Infatti, possiamo giocare anche con 0, 1 e 2. In una riga della tabella dei file aperti, manteniamo in silenzio quanti byte abbiamo letto. Cioè, dal punto di vista del programma utente, ci riferiremo a quanti byte abbiamo letto da quel file. Tuttavia, sapete che i file sono in dispositivi di memoria secondaria come i dischi rigidi. Quando diciamo 102002° byte che vogliamo dal file aperto, abbiamo bisogno di trovare quale blocco di disco è disponibile quel byte. Poi, dobbiamo fare una richiesta al controller DMA, che legge e memorizza nei buffer del sistema operativo. Da lì, dobbiamo prendere il byte richiesto. Tutte queste cose non sono visibili al programmatore. Punto di vista del programmatore, quale byte in termini di file aperto. Cioè, è. OK. Anche in Windows, le cose funzionano quasi allo stesso modo con l'eccezione del file handle.

Di McCourt

What is the recommended way to send email programmatically with Java? :: Come aprire un file IMSCC
Link utili