• ベストアンサー

c:¥gooは存在するの?

WIN32_FIND_DATA ffd; HANDLE hf; hf=FindFirstFile("c:\\goo",&ffd); if(hf==INVALID_HANDLE_VALUE)  cout<<"\"c:\\goo\"は存在しません"<<endl; において hf==INVALID_HANDLE_VALUE であればc:¥gooは存在しないとみなして言いのでしょうか? もしc:¥gooが存在することがあればどういうときでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

>hf==INVALID_HANDLE_VALUE であればc:¥gooは存在しないとみなして言いのでしょうか? それでいいと思います。エラーの詳細が知りたければ、GetLastError()で取得できます。GetLastError()がFILE_NOT_FOUNDを返すのであれば、ファイルが存在しないとみなすしかないでしょう。

その他の回答 (1)

  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.2

http://members.tripod.com/~masapico/api_FindFirstFile.html によると、1つもマッチしない場合は INVALID_HANDLE_VALUE とあるので そのようなことはないと思いますが。c:\goo* のようにワイルドカードを 指定していると C:\google などにマッチするので他のものが読み出される 可能性があります。

参考URL:
http://members.tripod.com/~masapico/api_FindFirstFile.html
nubou
質問者

お礼

ありがとうございました

関連するQ&A