#include <QtCore/QCoreApplication>
#include <iostream.h>
#include <windows.h>
int main(int argc, char *argv[])
{
char path[64];
GetCurrentDirectory(sizeof(path),path);
cout<<path;
return 0;
}
Проблема несоответствия типов
для этого нужен оператор GetCurrentDirectory
однако при запуске нижеследующей программы выдается ошибка о несоответствии типов
Код:
error: cannot convert `char*' to `WCHAR*' for argument `2' to `DWORD GetCurrentDirectoryW(DWORD, WCHAR*)'
DWORD и WCHAR* - неужели для решения задачи нужно именно с этими типами работать? нет ли другого пути?
2) а чем вас не устраивают типы DWORD и WCHAR?
3) все зависит от того, в какой кодировке вы работаете. Для многобайтовой кодировки стандартная строка имеет тип CHAR*, для юникода - WCHAR*.
TCHAR не?Он вроде в зависимости от кодировки(лень студию запускать:))
вообщето если уж так мило работать с чар - то можно пытаться использовать ANSI-вариант функции. Но ИМХО это во первых глупость. Во вторых - 64 символа для такого массива слегка маловато может быть
Зачем в qt вин-апишные функции?
Цитата: cherish dkfefbie c
error: cannot convert `char*' to `WCHAR*' for argument `2' to `DWORD GetCurrentDirectoryW(DWORD, WCHAR*)'
Здесь просто надо либо явно GetCurrentDirectoryA использовать, либо переменную объявить типом WCHAR/TCHAR/wchar_t.