На основании приведения к LPCTSTR
мой хрустальный шар говорит мне, что вызов CreateDirectory(folderfile.c_str(), NULL);
не скомпилирован для вас.Это потому, что Visual Studio по умолчанию компилируется в режиме Unicode и вам необходимо использовать wstring
.
У вас есть несколько решений:
- Переключить проектнабор символов режим ANSI :
Свойства проекта -> Общие -> Набор символов -> Использование несколькихНабор символов байтов Вызов CreateDirectoryA
явно:
string folderfile = "C:\\Screenshots";
CreateDirectoryA(folderfile.c_str(), NULL);
Продолжайте использоватьИспользуйте кодировку Unicode и используйте wstring
:
wstring folderfile = L"C:\\Screenshots";
CreateDirectory(folderfile.c_str(), NULL);
Также не забудьте проверить возвращаемое значение (BOOL
)и позвоните GetLastError()
, если это false
.Таким образом, вы можете узнать , почему вызов не удался.