電子書籍の厳選無料作品が豊富!

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.

A 回答 (3件)

Miocrodoftのライブラリで検索すると、以下のページがヒットします。



PathFileExists Function
http://msdn.microsoft.com/ja-jp/library/bb773584 …

ここに、

・OSの制限
・必要なヘッダーファイル
・必要なライブラリファイル

などが記載されています。
    • good
    • 0

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



#pragma comment( lib, "Shlwapi.lib" )
    • good
    • 2

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

    • good
    • 0

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