ファイル入出力について
 
ファイル・・・関連付けられたデータの集まり 
 
ファイル
データ1
データ3
データ2
バイトデータ・・・8ビット、char型
[Q] ファイルに関連する用語をあげ、それを説明してみてください
            例) ディスクファイル、テキストファイル・・・・
 
ファイルを使う準備と使い終り
 
fopen 関数 ・・・file を開く(= そのファイルを使う)

fclose関数 ・・・file を閉じる(= そのファイルの使い終り)

 
一般には1つだけでなくて多くのファイルを同時に開く(使えるようにする)ために、現実のファイル名と対応・区別を付けるための目印が必要
 
この目印を・・・
 
       ファイルポインタ or  ファイル変数
 
と呼ぶ。ファイル変数は一般の変数と同じように使う前に定義する。記憶クラスやスコープなどのC言語の変数に関する規則にも従う。

 
ファイルポインタを使う
 
ファイルポインタの 変数の型 は FILE である。この型の正体は構造体である。

宣言例)
 

FILE * fp ;         (ファイル変数 fp を宣言)
 
ファイル変数はポインタ型として宣言・準備する(お約束事)
 

fopen 関数
 

使用方法)
ファイルポインタ = fopen ( "ファイル名" , "モード" ) ;
 
ファイル名:
MS-DOS の dir や、Unix の ls コマンドで見る事ができるファイル名を書く
モード:
ファイルを開く際に、「読み込む」か、「書き込む」かを指定
"r" .... ( Read )読み込みファイル
"w"  .... ( Write ) 書き込みファイル
 
注意)
既存のファイルを "w" でオープンすると、内容が破壊される
 
例) 
ファイル名が "file.dat" のファイルを読み込みファイルとして使用できるように準備する
fp = fopen( "file.dat" , "r" );
  ・これ以降、 fp というファイル変数によってファイル内容をアクセス(使用)できる
  ・これ以降は、実際のファイル名はプログラム中には出てこない
 

fclose関数
 

使用方法)
fclose( ファイルポインタ ) ;
  
ファイルポインタに結びついているファイルの使用を終える。


 
ファイルへのアクセス
 

通常の画面入出力関数の前に "f" を付ける("FILE" の "f")と覚えておくとよい
 
printf( ) → fprintf( ファイルポインタ , )

scanf( ) → fscanf( ファイルポインタ , )

getchar( ) → fgetc( ファイルポインタ , )

putchar( ) → fputc( ファイルポインタ , )


どのファイルから読み込むか(どのファイルに書き込むか)を指定するために、ファイルポインタの部分が増えているが、その他の使い方は 'f' がつかない関数と同じである。
ファイル入出力関数一覧も参考にしてください。


 
 
 

Kunihiro Egami <egami@egamix.com>