こんにちは。
fgetcを使ってみましたが、普通のテキストファイルのようには読み込めませんでした。初心者で右も左も分からない状況です。よろしくお願いいたします
普通のテキストは「文字」や「改行」として割り当てられている値のみで構成されています。
例えばASCIIコードって聞いたことないでしょうか?この表で「説明」が付いている部分は文字ではなくそれを画面に表示してもまともな文字は表示されません。
そのような文字として表示されない値も使ったファイルはバイナリー・ファイルと呼ばれます。
enc関数がどのような暗号化処理をしているのか分かりませんが、暗号化した結果はバイナリー・ファイルであるケースが多いです。
それを普通のテキスト・ファイルのように読み込んでも、文字として表示できない値も含まれているため、普通に表示してもまともには表示されません。
次にfgets()やfgetc()はテキスト・ファイルを読み込むための関数ですので、これらを使ってバイナリー・ファイルを読み込むと問題が出やすいです。fread()関数を使って下さい。
ただ、暗号化されているパイナリー・ファイルをただ読み込むだけではあまり意味がないと思います。
普通はその後、暗号化を解除(復号化)すると思います。
そのためにenc(エンコード)関数と対になっているデコード関数があります。
また、enc関数にkeyを与えていますが、これは暗号化キーでしょう。これがないと復号できません。
つまり、デコード関数に暗号化ファイルと暗号化キーを与えてデコード(復号)することで、初めて元のファイルを回復できます。
従って、デコード用の関数と暗号化した時に使った暗号化キーを正規ルート(持っている人の許可を貰って受け取る)で入手しましょう。
入手出来ない場合は、諦めるのが現実的と思います。