ここでは、最も簡単な入出力のライブラリ関数を説明します。 たいていのデータ入出力はこれで行えます。
この表において、
決められた通りに指定しないと、エラーメッセージは出ないのに 全く変な結果がでたりプログラムが暴走したりすることがあります。
FILE
とは、ファイルを識別するための変数(構造体)を指す。
一般にファイルは複数個扱えるので、それぞれを区別するための変数が必要になります。
関数 fopen()
は、その変数へのポインタ(アドレス)を返します。
エラー(ファイルがオープンできなかったなど)があった場合、ヌル(ゼロ)を返します。
fopen()
の引数について
fname
は、ファイル名を指定します。直接fopen("result.dat","w");
と指定することもできます。fmode
は、"r"
の場合読みだし専用、"w"
の場合書き込み専用に することを指定します。"r"
でファイルをオープンしようとした時、その名前の ファイルが存在していないと、エラーになります。
format
で、入出力の書式を指定する
これは、出力する際のフォーマットを指定する文字列で、 変数の値は%
で始まる形の文字列で指定します。 この後に、出力する変数名を続けるのですが、このときに順番と個数とをformat
内のものと合うようにしてください。
この文字とあわせて、次のような指定もできます。
例: printf("\t result is : %d \n", n );
%
と書式指定文字との間に数字をいれて、ケタ数を指定できる。
例:printf("%04x", 255);
![]()
00ff
("0"
は指定桁数になるようにゼロで埋めることを示し、"4"
は桁数を示す。)
例:printf("%6f.2", 3.14159);
![]()
3.14
(小数点を含んだ全体を6桁で表し、そのうち小数点以下を2桁にする。)
また、入力を行う関数の場合、 入力されたデータを受け取る変数は、 そのアドレスを引数として渡すことに注意してください。 これは、入力されたデータを、メモリ内のどの場所(番地)に格納すればよいのかを 指定するということです。 変数のアドレスを表すには、& 演算子を用います。
例: 変数 int var1; のアドレス![]()
&var1
この他にも良く使われる入出力関数として、以下のようなものがあります。