visual C++ wchar_t* not working
visual C++ wchar_t* not working
wchar_t* Pfad;
wcin >> Pfad;
wchar_t* file = Pfad + "*.quiz";
不适合我,我怎么才能使它工作?它说"*.quiz"
是错误的,它必须是一个数值或类似的东西。
很抱歉,我是c++新手…
我的实际问题是,我使用这个,但是我想让用户选择路径
比如cin>> file
但是我不希望用户键入"*.quiz";
wchar_t* file = L"C:/Users/Niku/Documents/Visual Studio 2012/Projects/Quiz/Quiz/Fragen_Niko/*.quiz";
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile(file, &FindFileData);
if( hFind != INVALID_HANDLE_VALUE ) {
max++;
while ((x = FindNextFile(hFind, &FindFileData)) == TRUE)
max++;
}
如果我使用除了wchar_t*之外的任何东西,它都不起作用。
它没有按您期望的方式工作,因为您不完全理解c++中的指针和字符串字面值。如果你想知道哪里出了问题,请选择这些书中的任何一本(可能是初学者的)。
如果你想直接解决这个问题(走捷径),使用std::wstring
代替:
std::wstring Pfad;
std::wcin >> Pfad;
auto file = Pfad + L"*.quiz";
现场演示
根据Rook的建议,如果你必须传递一个指针到C api,你可以使用成员函数std::wstring::c_str
,它将返回一个const wchar_t*
供你使用。
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working
- WinAPI DestroyWindow not working