>>354
大抵の環境で使えるという程度の互換性でいいのなら、stat()でいいと思う。
fopen(..., "r")は、ファイルの存在検査ではなくファイルの可読性の検査になるということに注意。
つまり、unixなどでは存在するのに読めないファイルに対してどうするべきか検討する必要がある。
大抵は「読める」≒「在る」だろうけれど、「なかったら作る」という状況ではそれは拙いかも知れない。