PDA

Просмотр полной версии : Проблема с созданием файла !


043nKRuT0y
24.11.2009, 12:11
Подскажите как исправить такую ошибку :
Создаю я значить файл
hDevice = CreateFile("\\\\.\\kimul25",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0 ,NULL);
А VisualStudio мне ошибку :
Ошибка 2 error C2664: CreateFileW: невозможно преобразовать параметр 1 из 'const char [10]' в 'LPCWSTR'
Как собственно указать имя файла !?

razb
24.11.2009, 12:50
Либо отключи юникод либо используй wchar

043nKRuT0y
24.11.2009, 12:57
Можно подробней про оба метода ?

csrss
24.11.2009, 13:02
wchar:
hDevice = CreateFileW(L"\\\\.\\kimul25",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0 , NULL);

уникод отклучаеш в настройках Visual Studio:
Project -> properties

slesh
24.11.2009, 13:04
Пиши явные имена API функций
CreateFile - это макрос который в зависимости от настроек ссылается на
CreateFileA или CreateFileW
Первый для ANSI строк второй для WideChar
Если юзаеш WideChar то перед строкой ставь символ L типа
CreateFileW(L"filename", .......);

altblitz
24.11.2009, 13:17
Подскажите как исправить такую ошибку :
Создаю я значить файл
hDevice = CreateFile("\\\\.\\kimul25",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0 ,NULL);
А VisualStudio мне ошибку :
Ошибка 2 error C2664: CreateFileW: невозможно преобразовать параметр 1 из 'const char [10]' в 'LPCWSTR'
Как собственно указать имя файла !?
это не ошибка. это свойство богохульственной VisualStudio.

правильным парням - знаком правильный GCC.
и таких ошибок не возникает.

Shaitan-Devil
24.11.2009, 13:42
Как вариант используй мультибайтовую кодировку.

043nKRuT0y
24.11.2009, 13:49
всем спс - разобрался , хотя насчет Visual Studio ты прав - что то она перегибает в "некоторых местах" - в одной папке проекта столько файлов что не пойму на**я они нужны ......

Ins3t
25.11.2009, 12:46
В начале кода напиши #undef UNICODE

nerezus
25.11.2009, 21:11
в одной папке проекта столько файлов что не пойму на**я они нужны ...... Это пройдет с опытом ;)