:私は最初にこのコードを実行すると「セグメンテーション違反」のオープン既存のファイルIのように簡単なコードを実行している
program summation
implicit none
integer :: sum, a, b
print*, "This program performs summations. Enter 0 to stop."
!open(unit=10, file="SumData.DAT", status='replace', action='write',iostat=b, err=100)
!100 continue
!write(*,*) b
open(unit=10, file="SumData.DAT", status='replace', action='write')
sum = 0
do
print*, "Add:"
read*, a
if (a == 0) then
exit
else
sum = sum + a
end if
write(10,*) a
end do
print*, "Summation =", sum
write(10,*) "Summation =", sum
close(10)
end
は、それはOKだったし、それがSumData.dat
ファイルを生成しました。しかし、私は再びそれを実行すると、それはopenコマンドで停止し、次のエラーが表示されます:私はSumData.dat
ファイルを削除して、もう一度それを実行した場合
Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: #0 ffffffffffffffff #1 ffffffffffffffff #2 ffffffffffffffff #3 ffffffffffffffff #4 ffffffffffffffff #5 ffffffffffffffff #6 ffffffffffffffff #7 ffffffffffffffff #8 ffffffffffffffff #9 ffffffffffffffff #10 ffffffffffffffff #11 ffffffffffffffff #12 ffffffffffffffff #13 ffffffffffffffff #14 ffffffffffffffff #15 ffffffffffffffff #16 ffffffffffffffff #17 ffffffffffffffff #18 ffffffffffffffff
、それはOKでした。誰もがなぜプログラムが既存のファイルを開くことができないのか知っていますか?
問題が特定のバージョンのFortran標準に固有でない限り、汎用[タグ:fortran]タグを使用してください。あなたは確かにFortranの25年前のバージョンに自分自身を制限したくないです。 –
データファイルはどのように見えますか? –
こんにちはウラジミール、データファイルがない場合、プログラムは1つを作成し、集計結果は次のように書かれます:合計= 2 – elpdotaer