Fortran runtime error: Cannot write to file after EOF reached without REWIND or BACKSPACE – Fortran WRITE_AFTER_EOF

WRITE_AFTER_EOF

Tentativo di eseguire un'operazione WRITE su un'unità sequenziale subito dopo aver rilevato la condizione di fine file (EOF) durante una READ senza aver prima riposizionato il cursore.

Cosa significa questo errore?

Tentativo di eseguire un'operazione WRITE su un'unità sequenziale subito dopo aver rilevato la condizione di fine file (EOF) durante una READ senza aver prima riposizionato il cursore.

Messaggio originale

Fortran runtime error: Cannot write to file after EOF reached without REWIND or BACKSPACE

Contesto e parole chiave

Alias

  • Cannot write to file after EOF reached Fortran

Messaggi alternativi

  • impossibile scrivere sul file dopo fine file senza rewind

Prodotti

  • GNU Fortran (gfortran) / Intel Fortran (ifx) / LLVM Flang

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • errore-fortran-write-after-eof-error
  • fortran
  • fortran.io.write-after-eof-error
  • gfortran
  • Input Output e File (IOSTAT)

Cause possibili

Causa tecnica per Errore Fortran I/O: Cannot write after EOF reached (Tentativo Scrittura Post-EOF)

Tentativo di eseguire un'operazione WRITE su un'unità sequenziale subito dopo aver rilevato la condizione di fine file (EOF) durante una READ senza aver prima riposizionato il cursore.

molto comune

Diagnosi

Diagnostica di compilazione e memoria per Errore Fortran I/O: Cannot write after EOF reached (Tentativo Scrittura Post-EOF)

Compilare con controlli di sicurezza estesi (-Wall -Wextra -fcheck=all -ffpe-trap=invalid,zero,overflow -g).

Come leggere il risultato. Attiva il controllo dei limiti degli array, overflow numerici e tracciamento puntatori a runtime.

terminal
gfortran -Wall -Wextra -fcheck=all -g main.f90 -o app

Risoluzione

Risoluzione standard per Errore Fortran I/O: Cannot write after EOF reached (Tentativo Scrittura Post-EOF)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente Fortran conforme agli standard Fortran 90/2003/2008/2018.

  1. Ispezionare la riga segnalata dal compilatore gfortran o ifx
  2. Verificare le dichiarazioni di tipo, specificatori IOSTAT o allocazioni di array
  3. Ricompilare ed eseguire con opzioni di controllo di integrità
terminal
gfortran -O2 -Wall main.f90 -o app

Domande frequenti

Come risolvere l'errore Errore Fortran I/O: Cannot write after EOF reached (Tentativo Scrittura Post-EOF) in Fortran?

Tentativo di eseguire un'operazione WRITE su un'unità sequenziale subito dopo aver rilevato la condizione di fine file (EOF) durante una READ senza aver prima riposizionato il cursore.

Approfondimenti

Schede correlate