アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルがあるかないかをチェックして、あればtrue、なければfalseを返す関数を作りたいと思います。
どのように作ればよいでしょうか?
理想としては、シェルの"-e"に相当するようなものができればと思います。

A 回答 (5件)

OSは何でしょうか。


unix(又はDOSプロンプトで実行可能なモジュール)であれば、stat関数を使用して、ファイルの存在をチェックすることができます。
    • good
    • 0

参考までに


もしWin32でMFCに限定すると、
静的関数の

CFile::GetStatus()

を使用するのがスマートです。ファイルを開かずディレクトリエントリからファイルのステータス情報を取得します。
    • good
    • 0

読み込みモードでfopenして、失敗するかどうかを調べるのが一番です。

(下記URL参照)
CでもC++でも(Objective-Cでも)使える方法です。

ただし、書き込み専用属性を指定できる環境や、デバイスの場合は、環境依存の方法で実装する必要があります。

参考URL:http://bohyoh.com/CandCPP/FAQ/FAQ00083.html
    • good
    • 0

Windowsで良ければこんな方法も


BOOL FileExist(
LPCTSTR lpszFileName)
{
return GetFileAttributes(lpszFileName) != 0xFFFFFFFF;
}
    • good
    • 0

こんな感じでしょうか。



bool IsExistFile( // true:在り false:無し
const char* i_pszPath // 検査対象ファイルパス名
){
std::ifstream fs( i_pszPath );
return fs.is_open();
}

winでも_stat()が使えます。が、私なら上記のようにします。標準語(ISO/ANSI C++)のみで書けるからです。あと、実行速度を気にする必要も無いだろうからです。

stat()や_stat()は方言故、あまり使いたくないのです...
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!