はじめての C

あいかわらず リハビリちゅー ...
http://www.tofla.iconbar.com/tofla/c/cfy12/

挿入と 保存

先月は ファイルを 開閉する テクニックについて 見てきましたが、それを 使って 何かをする という 具合には いきませんでした。

先へ すすむ前に、新しく 2つの ルーティンを 紹介しないと いけません。 でも、C の 背後にある ちょっとした 考え方により、それらは 前に 見てきた 関数に よく似た 特徴を もっています。

C では、すべての 入出力を さまざまな ファイルとして 扱っているのです。 それで、スクリーンや プリンタ あるいは 磁気ディスクであろうと、おなじ 一般的な 方法で 書き込むことが できます。

printf() は 自動的に stdout と 呼ばれる 「ファイル」 を 出力先として 送り込みます。 また、scanf() は stdin からの 入力を 取り込みます。

これらは 通常 それぞれ スクリーン上に また キーボードから 転送されます - もし 誰かが パソコンに そっと 近づいて 書き直さない かぎりは、ですけど。

これらの 「ファイル」 は 高い 頻度で 使われるため stdio.h ライブラリに 標準で 用意されていて、いつでも 開いた 状態に あります。 磁気ディスクに 書き込む 場合は、使用できるように する前に、ファイルを つくっておく 必要が あります。 この やり方は 先月 実行しました。

printf() や scanf() の 転送先を 変更するのは 簡単には できないので、他に パラメータを とる 新しい 関数が 必要に なります - それで その情報を どこに 格納するのかを 指定するのです。

最初に fprintf() を 見てみましょう。 これは printf() と 同じ パラメータに 加え、特別な 転送用 パラメータを とっています。

  FILE *pointer;
char *name = "filename";

pointer = fopen(name, "w");
fprintf("pointer, "Writing to file: %s\n", name);

fclose(pointer);