
Visual Studio C++ 2010 Expressを利用して、C言語のプログラムを作成しています。
その中でFindFirstFileを使っています。
Visual Studio上でWin32コンソールアプリのプロジェクトを作成して、このプログラムをコンパイルしました。
プロジェクトのプロパティは変更していません。
コンパイルしたものを実行すると戻り値としてINVALID_HANDLE_VALUEが返ってきて、ファイルのリストを取得できませんでした。
一方で、コマンドプロンプト上でMakefileを作成し、同じソースをコンパイルした場合は、ファイルのリストを正常に取得することが出来ます。
従いまして、おそらくプログラムは問題ないと思います。
Visual Studioのプロジェクトで、何かプロパティの設定が必要でしょうか?
実行環境は、Windows7 64-bitです。
何かご存知の方いらっしゃいましたら、教えて頂けますか?
No.2ベストアンサー
- 回答日時:
>FindFirstFileに指定した引数の文字列は、"C:\\Temp\\*.avi"などです。
なんというか、お約束ですが…
VC++2010EEでの文字セットは何になっていますか?
デフォルトのままだと「UNICODE文字セットを使用する」になっているかと思われますが。
# で…そのまんま"C:\\Temp\\*.avi"の指定だと警告かエラーかになるかと……。
ありがとうございます。
おっしゃる通り、プロジェクトのプロパティの文字セットを「UNICODE文字セットを使用する」にしてました。
「マルチバイト文字セットを使用する」に変更して、動作するようになりました。
久しぶりのVisual Studioのプログラミングで、この変更をするのをすっかり失念していました。
No.1
- 回答日時:
INVALID_HANDLE_VALUEの時、さらに、GetLastError()で、詳細なエラー要因を
取得できるはずです。それで調べてみましょう。
カレントパスの問題ではないですか?
この回答への補足
お返事ありがとうございます。
GetLastError()で値とってみると ERROR_FILE_NOT_FOUND で指定されたファイルが見つかりません、となっていました。
FindFirstFileに指定した引数の文字列は、"C:\\Temp\\*.avi"などです。
この.aviのファイルは、いくつか存在ます。
カレントパスの問題かとも思って、SetCurrentDirectory()で、"C:\\Temp"と指定したりもしましたが、GetLastError()の戻り値は、 ERROR_FILE_NOT_FOUND のままでした。
他に何か見るべきところはあるでしょうか?
同じプログラムで、コマンドプロンプト上でコンパイルしたときには問題にならないので、何が違うのか良く分からないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
うまくコンパイルできません
-
コメント文の書き方が分かりま...
-
エクセルVBAではRound...
-
リリースビルドで遅くなる
-
「DeclareステートメントにPtrS...
-
外部シンボル "_main"は未解決です
-
C言語でmからnまでの合計を求め...
-
sys/types.hの必要性について
-
【VC++6.0(MFC)】警告「LINK : ...
-
複数ファイルから同じ関数の呼...
-
timeGetTime関数を使用できません
-
コンパイルエラー:ユーザ定義...
-
「utime.h が見つからない」エ...
-
<math.h>があるのにsqrtが・...
-
ExcelVBAで『ByRef 引数の型が...
-
分割ファイルのコンパイル
-
C/C++の文法チェックツール
-
USBカメラライブラリー ECWLIB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
「fatal error C1189」を回避す...
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
ILSpyで、デコンパイルできない。
-
1 つ以上の複数回定義されてい...
-
マクロ コンパイルがグレーバック
-
セミコロンについて
-
外部シンボル "_main"は未解決です
-
C++コンパイル時に『 C1083: in...
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
「DeclareステートメントにPtrS...
-
戻り値について
-
pyc 編集 閲覧
-
PRO*C コンパイルエラー
-
【VC++6.0(MFC)】警告「LINK : ...
-
漢字のコメントをはずすとコン...
おすすめ情報