cで扱うファイル
cのファイルアクセスはファイルと流れを関連付けることによって達成される。 cはファイルポインターと呼ばれる新しいデータタイプを使用してファイルと伝達し合う。 このタイプはstdio.hの内で定義され、ファイルとして書かれている*。 呼ばれるoutput_fileファイルポインターは声明でのような宣言される
FILE *output_file;
ファイルモードはの機能をfopen
あなたのプログラムはそれにアクセスできる前にファイルを開けなければならない。 これはを使用してfopen必須ファイルポインターを戻す機能をされる。 ファイルがあらゆる理由のために開けることができなければ価値0は戻る。 通常次の通りfopen使用する
if ((output_file = fopen("output_file", "w")) == NULL)
fprintf(stderr, "Cannot open %s\n",
"output_file");
取得を2つの議論、両方あるひもが、第1ある開くべきファイルの名前が第2ある通常rの1つであるアクセスの特性、a fopen w等ファイルは次のテーブルで示されているようにいくつかのモードで、開くかもしれない。
ファイルモード |
r |
読書のためのテキスト・ファイルを開けなさい。 |
w |
執筆のためのテキスト・ファイルを作成しなさい。 ファイルがあれば、重ね書きされる。 |
a |
テキスト・ファイルを付けるモードを開けなさい。 テキストはファイルの端に加えられる。 |
rb |
読書のためのバイナリファイルを開けなさい。 |
wb |
執筆のためのバイナリファイルを作成しなさい。 ファイルがあれば、重ね書きされる。 |
ab |
バイナリファイルを付けるモードを開けなさい。 データはファイルの端に加えられる。 |
r+ |
読書および執筆のためのテキスト・ファイルを開けなさい。 |
w+ |
読書および執筆のためのテキスト・ファイルを作成しなさい。 ファイルがあれば、重ね書きされる。 |
a+ |
端に読書および執筆のためのテキスト・ファイルを開けなさい。 |
r+b or rb+ |
読書および執筆のためのバイナリファイルを開けなさい。 |
w+b or wb+ |
読書および執筆のためのバイナリファイルを作成しなさい。 ファイルがあれば、重ね書きされる。 |
a+b or ab+ |
端に読書および執筆のためのテキスト・ファイルを開けなさい。 |
更新モードはfseek、fsetposおよびリワインド機能と使用される。 間違いが生じたら機能リターンファイルポインター、か0をfopen。
次の例はファイル、読み取り専用モードのtarun.txtを開ける。 それはよくファイルをテストする練習を存在しているプログラムする。
if ((in = fopen("tarun.txt", "r")) == NULL)
{
puts("Unable to open the file");
return 0;
}
|