• 締切済み

C言語のPathFileExistsについて

visual studio 2010、C言語でPathFileExistsを使って ファイル有無のチェックをしようと試みましたが、 コンパイルエラーになってしまいました。 環境はwindowsXP、SP3です。 参考にしたいくつかのサイトでは、visual studio 2010ではPathFileExistsを使って ファイル有無をチェックできると書いてあったのですが、 visual studio 2010でもC言語だとPathFileExistsは使えないのでしょうか? TEST.C #include <stdio.h> #include <shlwapi.h> int main() {   char path[128];   sprintf( path, "c:\\tmp.txt" );   if ( PathFileExists(path) ){     printf("ファイル有\n");   }   else{     printf("ファイル無\n");   }   return 0; } TEST.OBJ : error LNK2019: 未解決の外部シンボル __imp__PathFileExistsA@4 が関数 _ main で参照されました。 TEST.EXE : fatal error LNK1120: 外部参照 1 が未解決です。 NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BI N\link.exe"' : リターン コード '0x460' Stop.

みんなの回答

回答No.3

Miocrodoftのライブラリで検索すると、以下のページがヒットします。 PathFileExists Function http://msdn.microsoft.com/ja-jp/library/bb773584.aspx ここに、 ・OSの制限 ・必要なヘッダーファイル ・必要なライブラリファイル などが記載されています。

回答No.2

Shlwapi.lib(インポートライブラリ)をリンクすればいいよ。 #pragma comment( lib, "Shlwapi.lib" )

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

使えないわけではなく必要なライブラリがリンクされていないからです。

関連するQ&A