• 締切済み

FORTRANの入出力

jet9999の回答

  • jet9999
  • ベストアンサー率50% (2/4)
回答No.4

cとFORTRANの入出力機能は、それぞれ別に作られていると解釈しておくのが妥当です。 例外として、昔のコンピューターメーカーの中にはよく出来たcコンパイラを持っており、逆にFORTRANが苦手だった企業がありました。 そういう企業のコンピューターだと、cランタイムの上にFORTRANが被っているだけの場合もあったのかもしれません。博物館に置いてあるような時代物のミニコンです。 FORTRANはOSが無いpcを前提にはしていませんが、OSそのものが非常にプアだった30年くらい前のpcであれば、FORTRANコンパイラを動かすためのモニタやエディタを一纏めにしたソフトウェアがあったとおもいます。 いずれにしろ今の時代では考えられません。

関連するQ&A

  • PCから外部へ入出力

    PCから外部へ入出力するときにUSBを使いたい場合、 c言語でどのように使いたいポートを指定すればいいですか? ちなみにOSはwindows7です。

  • FortranプログラムからC言語で実装された関数を呼ぶ方法

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか?何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • fortranでのcsvファイルの読み込み

    fortranで例えば下のようなcsvファイルを読み込み、配列に格納したいのですが、どのようにすればよいでしょうか? 12.3,45.6,78.9,23.4,56.7 23.4,56.7,89.1,23.4,56.7 34.5,67.8,91.2,34.5,67.8 当方、CやJavaなどの別の言語は経験があるのですが、急遽fortranでやらなければならなくなって困っています どなたかよろしくお願いします

  • fortranで、C言語のsizeof関数に相当するものが分からない

    データ型のバイト数を調べる際、C言語ではsizeof関数が用いられますが、Fortranではどうすればよいでしょうか? 一つの関数でなくとも、そのような機能をもつルーチンでも構いません。

  • C言語からのFortranプログラムの呼び出し

    Fortranで記述した以下のような構成の有限要素法プログラムをC言語から呼び出したいのですが,具体的にどのようなコードを記述すればいいのかがわかりません.お教えいただけないでしょうか. サブルーチンinputおよびoutputでは入力および結果ファイルの入出力を行っています. 当方C言語はほぼ初心者です.Fortranのプログラミング環境としてはVisualStudio2005およびVisualFortran9.1を用いています. C言語のプログラミング環境としてはおなじくVisualStudio2005を使用したいとおもっております. [メインプログラム] open (5,file='input.dat') open (6,file='output.dat') /入出力用のファイルを開く call input(parameter1) /各サブルーチンで有限要素法を実行 call bound(parameter2) call matrix(parameter3) call solve(parameter4) call output(parameter5) close (5) /入出力用のファイルを閉じる close (6) stop end

  • FortranにあってCにない関数?について

    10年間Fortran90でプログラミングをしてきましたが、 C言語を使う必要があって、プログラムを書き直し中の者です。 入門書を数冊読んでいて疑問に思ったのですが、Fortranには、 A=SUM(B) と書けば、配列Bの全ての総和をAに返す、という関数があるのですが、C言語に同じような関数はないのでしょうか?(標準ライブラリに無いという事はないのでしょうか?) Fortranと比べてCは組み込み関数が少ないという印象を持ったのですが実際そうなのでしょうか? また、Fortanでは配列の和をとる時、 do i=0,n a(i)=b(i)+c(i) end do を一行で、 a(0:n)=b(0:n)+c(0:n) と書いても良いですし、もし定義されている全部の配列の要素が対象なら a=b+c と一行で書いても良いのですが、c言語では似たような書き方はできないのでしょうか? つまり、多次元配列を扱う時、Fortranでは単に「a=b+c」と書けば済むところを、Cでは for (i=0,i<=n,i++){ for (j=0,j<=n,j++){ for (k=0,k<=n,k++){ a[i][j][k]=b[i][j][k]+c[i][j][k]; }}} と書かなくてはいけないのか?と悩んでおります。 私がCの機能を知らないだけなのか、Cとはそうゆうことが出来ないのか、浅学なため判断できません。 ご教授ください、どうぞよろしくお願いいたします。

  • Fortranプログラムの戻り値を得る方法

    Fortranで作成したプログラム(exeファイル)をC言語プログラム(exeファイル)から 起動しようと考えています。 Fortran側のプログラム終了コードを取得したのですが、 そもそもFortranで作成したプログラムは起動元プログラムに戻り値を返せるのですか? (C言語のmain関数の戻り値のように) できない場合の解決策として、ファイルに終了コードを書いて両プログラム で共有しようと考えています。この方法は妥当でしょうか? 当方、Fortranは素人です。詳しい方がいましたら教えて下さい。

  • C言語をFORTRANへ

    C言語で記述したプログラムをFORTRANに翻訳というか書き直してくれるソフトはないものでしょうか? FORTRANをCに書き直すソフトなら存在するんですけど・・・

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • c++の関数をfortranから呼びたい

    c++の関数をfortranから呼びたい windowsXPのコマンドプロンプト上で VC2005でコンパイルしたc++の関数を fortranから呼びたいと思います。 fortranのソースはg77でコンパイルします。 (g77とclコマンドは動作することが 確認出来ています。) 簡単なソースとコンパイル方法を教えて 頂きたくお願いします。