[ad_1]
LPCWSTR から LPCSTR に変換する必要があります。
このコードにはそれが必要です。
WFilePath path; WIN32_FIND_DATAA fd; HANDLE h; h = FindFirstFileA(path.GetString(), &fd);
私が試したこと:
インターネットで検索してみましたが見つかりません
解決策 1
おそらくこんな感じでしょうか?
C++
#include <string> LPCSTR ToLPCSTR(LPCWSTR wstr) { std::wstring ws(wstr); return ws.c_str(); }
すべてのワイド文字列を CStr に変換することはできないため、データ損失が発生する可能性があることに注意してください。
解決策 2
全部使うか UNICODE
またはすべて ASCII
, そのような問題を避けるために。 そして、あなたは電話することができます FindFirstFileW
それは UNICODE
バージョンを簡単にするために。 一般的には使用しない方が良いです A
または W
システムコールのサフィックス。 コンパイラはプロジェクト設定に基づいて正しいバージョンを選択します。 混合文字セットを使用する必要がある場合は、 WideCharToMultiByte 関数 (stringapiset.h) – Win32 アプリ | Microsoft Learn[^] 変換する UNICODE
に ASCII
。
[ad_2]
コメント