- ベストアンサー
C++ includeファイルの検索
以下のサイトを参考にC++の勉強をしています。 http://www.kab-studio.biz/Programing/Codian/MxA/09.html 残念ながら上記サイトにはどのファイルをインクルードすれば いいのか記述されておりません。Visual C++ 2008 Express Editionを 使用しているのですが、インクルードファイルを自動的に検索して ソース上に挿入するような機能はないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
wstring FName; FName = L"C:\\test.txt";
その他の回答 (4)
- titokani
- ベストアンサー率19% (341/1726)
> hFind = FindFirstFile(FName, &FileData); なんで戻すかな。 wstring FName; FName = L"C:\\temp\\test.txt"; hFind = FindFirstFile(FName.c_str(), &FileData);
お礼
無事コンパイルできました。 ありがとうございました。
- titokani
- ベストアンサー率19% (341/1726)
だから、wstringを使えばいいんですってば。
お礼
#include <stdio.h> #include <string> #include "windows.h" using namespace std; int main(int argc, char *argv[]) { HANDLE hFind; WIN32_FIND_DATA FileData; wstring FName; FName = L"C:\\temp\\test.txt"; hFind = FindFirstFile(FName, &FileData); return(0); } ーーーーーーーーーーーーーーーー ためしてみましたが残念ながら・・'FindFirstFileW' : 1 番目の引数を 'std::wstring' から 'LPCWSTR' に変換できません。・・というエラーが出ます。
- titokani
- ベストアンサー率19% (341/1726)
Express EditionでCStringは使えません。 std::stringかstd::wstringなら使えます。 LPCSTR,LPCWSTRへの変換はc_str()を使います。 std::string str; LPCSTR p=str.c_str(); std::wstring wstr; LPCWSTR wp=wstr.c_str();
お礼
#include <stdio.h> #include <string> #include "windows.h" using namespace std; int main(int argc, char *argv[]) { HANDLE hFind; WIN32_FIND_DATA FileData; string FName; FName = "C:\\test.txt"; hFind = FindFirstFile(FName.c_str(), &FileData); return(0); } ーーーーーーーーーーーーーー 残念ですが上記のコードは以下のコンパイルエラーになりました。 error C2664: 'FindFirstFileW' : 1 番目の引数を 'const char *' から 'LPCWSTR' に変換できません。 わたしのVisual C++での開発生活は早くも幕を下ろしたということです。おとなしくJavaを使うことにします。
- Tacosan
- ベストアンサー率23% (3656/15482)
・そのサイトを全部見る ・自分で調べる で解決できるはずです. VC++ なので, 必要なら MSDN Library を探せばいい. だいたい Java だって「インポートするクラスを自動的に検索してソース上に挿入する機能」は持っていない.
お礼
java自体に「インポートするクラスを自動的に検索してソース上に挿入する機能」はありませんが、eclipse上では、エラーにしたがってオペレーションすれば自動的に挿入してくれます。
お礼
ついにプログラムが完成しました。私の人生至上、最高の作品であることを確信しています。 ーーー #include <stdio.h> #include <string> #include <iostream> #include "windows.h" using namespace std; int main(int argc, char *argv[]) { HANDLE hFind; WIN32_FIND_DATA FileData; wstring FName; FName = L"C:\\test.JPG"; hFind = FindFirstFile(FName.c_str(), &FileData); if(hFind == INVALID_HANDLE_VALUE){ cout << "ファイルを発見できませんでした" << endl; } else{ cout << "ファイルを発見しました" << endl; } FindClose(hFind); return(0); }