逆境から飛躍へ 

~30代からのスキルアップ~

「'fp'は'0'である可能性があります。」の対処方法

 

 

皆さん、おはようございます。

 

2022年に入って、

もう5ヶ月も経ったんですね汗

本当に日が経つのが早いです(+_+)

 

気が付けばいつの間にか

歳をとってしまうかもしれないなと

感じてしまいました。

 

後から後悔しない為にも

1日1日を大事にして

生きていきたいと思います。

 

ということで、

今日も子供との触れ合い、

勉強を頑張っていきたいと思います。

 

 

 

 

今日は、C言語関係です。

 

C言語を学ぶときに

私が使っているのが

下記テキストです。

 

 

※私は第1版の方なので、

 ページ数が違うかもしれません。

 

ファイル書き込み関係のお話なのですが、

fcloseを使っていると

下記警告が出力されることがあります。

※新・明解C言語 入門編

 p.330~p.353あたりの話です。

 

「'fp'は'0'である可能性があります。」

 

例えば、下記のようなコードです。

 

 

※VisualStudioでは、

 fopenはエラーが出たので、

 fopen_sを使用しています。

 

ちなみに「a」の部分は、

モードの指定です。

 

下記のようなモードがあります。

 

r

 テキストファイルを

 読取りモードでオープンする

w

 テキストファイルを

 書込みモードでオープンする

a

 追加、すなわちテキストファイルを

 ファイルの終わりの位置からの

 書込みモードでオープンまたは生成する。

 

※その他にもモードがあり

 新・明解C言語 入門編

 p.333に書いてあります。

 

調べてみると、

ファイルオープン出来なかった場合のことを

想定して警告を出してくれた模様。

 

ということで

下記で書き直してみると

良くなりました。

 

 

fopen_sの戻り値は、

正常に終了したら

0が戻ってきます。

 

その場合のみfprintf、fcloseを

行う形で修正しました。

 

もし

「'fp'は'0'である可能性があります。」が

出ていて気になっている方は

試してみてください(;'∀')

 

それでは、またヽ(^o^)丿