表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
29/37

第二十七話 ストリーム



 月曜日の午後、俺は元気よく電算部部室の扉を開けると、そこには立花先輩、西原さんがいた。

 さらに、そこにサヤちゃんも混じっていた。空いているPCの一つを使って、何か作っている様子だった。

「遅い遅いー」

 先輩の言葉を聞いて、

「あ、すいません」

 俺は部室の中へと足を運んでいく。

 サヤちゃんが振り向いて、

「お兄ちゃん、こんにちは」

 ぺこりと頭を下げる。

 うぬっ。その仕草は萌える。

「こら、ロリは駄目って言ってるでしょうが」

 でれっとしたのがバレたのか、先輩から早速ツッコミを受けて、俺は慌ててかぶりを振る。

「ち、違いますって! それより、ゲーム作りを続けましょう」

 俺は自分のPCを立ち上げると、椅子に座る。


「さて、先輩、次に作るのはハイスコアのことでしたね」

「そうそう。ちゃんと覚えてたのね」

「イツキくん、頑張って」と西原さんも応援してくれる。

「え、お兄ちゃん、ゲーム作ってるんだ……」サヤちゃんも画面を見ている。

「で、ハイスコアの問題は、それをどうセーブするかってことですよ」

「セーブファイルの問題?」

「ええ、要するに俺はさっぱりわからんのです」

 白状する。

「あ、まだファイルの出し入れ教えてなかったねー。そういえば」

「はい、全然まったく」

「じゃ、まずはストリームから説明したほうがいいわね」

「ストリーム?」

 はて、どこかで聞いたことがあったような。

「前にも言ってるんだけど、Cには標準で3つのストリームがあるのよ。入力、出力、エラー出力ね」

「ああ、そうだった」

「ま、こういうプログラム見たらわかるかなー」

 先輩がキーボードを取って、コードを書き始めた。



/* ストリームテスト test.c */

#include<stdio.h>


int main(void)

{

  printf("テストなの\n");

  return 0;

}



 ごく普通のprintfプログラムだ。

「これが、どうかしたんですか?」と西原さんも怪訝顔。

「まあまあ。実行してみるわよ」

 先輩はプログラムをコンパイルすると実行した。


C:¥sample>test

テストなの


C:¥sample>_


 勿論、画面に文字列が表示されただけだ。

「これは、標準出力ストリームを使って、画面に出力したところ」

「そうですが……」

 今更、基礎的なことを言う先輩の真意がわからずに、俺は曖昧に答える。

「でも、出力は画面へと決まっているわけじゃないのよ」

「え?」

「たとえば、ファイルに出力したい場合は──」


 先輩は、再び実行を行う。だが、今度は少し長く打っていた。


C:¥sample>test > test.txt [ENTER]


C:¥sample>_


「えっ!?」

 画面に文字が出ない?

 まさか……。

「ご想像のとおりよ」

 先輩がdirコマンドを打つと、そこにはtest.txtファイルが新たに作られていた。メモ帳で開いてみると、そこには一行、「テストなの」とのみ書かれている。


「これが、ファイルへ書き込み?」

「そう。リダイレクトっていう機能よ。標準出力を画面でなくてファイルへと設定したわけ」

「こ、こんな機能がWindowsにあったなんて……」

「もとはUnixだけどねー。ちなみに、カッコの向きを逆にすれば、標準入力でファイルから読み込みも出来るのよ」

「これでファイルをやり取りするんですか?」と西原さん。

 サヤちゃんは、何を当たり前な事を、という顔をしている。

「ところで、あたしが『標準』って言葉をいつもストリームに付けていたのに、気づいた?」

「え? いいえ」

「実はストリームは三つの標準以外にも、独自に作ることが出来るの。そして、そのストリームを窓口にして、プログラムの外のファイルと読み書きをするわけよ」

「直接ハードディスクのファイルに書き込みしないんだ」

「それはOSが許さないの……」サヤちゃんが答えた。

「サヤちゃんが言うとおり、アプリがハードと直接やり取りするのはご法度。それに、それだと他のOSのパソコンだとプログラムが動かないじゃない。デバイスドライバが違う場合、場合によっては同じOSだったとしても動かないし」

「あ、そうか」

「だからストリームって論理デバイスを間に挟むことで、PCの実装に依存しないプログラムになるのよ。じゃ、イツキくんもわかったところで、やり方を教えるわ」


 先輩が、新たにプログラムを書き始めた。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ