Просмотр полной версии : Проблема с созданием файла !
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'
Как собственно указать имя файла !?
Либо отключи юникод либо используй wchar
043nKRuT0y
24.11.2009, 12:57
Можно подробней про оба метода ?
wchar:
hDevice = CreateFileW(L"\\\\.\\kimul25",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0 , NULL);
уникод отклучаеш в настройках Visual Studio:
Project -> properties
Пиши явные имена 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 ты прав - что то она перегибает в "некоторых местах" - в одной папке проекта столько файлов что не пойму на**я они нужны ......
В начале кода напиши #undef UNICODE
в одной папке проекта столько файлов что не пойму на**я они нужны ...... Это пройдет с опытом ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot