>>478
解り易いご返答、ありがとうございます。

>いつもなら、0で返しますが、今回初めて1で返す事になっています。
自分もよくわかりません・・・。

まだ、考えても理解しにくい部分があります
>読み込みが成功したら(fread関数の戻り値が1)
の戻り値が1とは厳密には、どういう事でしょうか?

もう一つは、ch = ch - key[i++];
は、
ch = ch - key[i];
i++;

と

>fread(&ch, sizeof(char), 1, fp)
>ch = ch - key[i++];


等は、何故宜しくないのでしょうか?
参考書の著者のソースです。