ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
Проблема с созданием файла ! |

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

24.11.2009, 12:50
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Либо отключи юникод либо используй wchar
|
|
|

24.11.2009, 12:57
|
|
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме: 394522
Репутация:
14
|
|
Можно подробней про оба метода ?
|
|
|

24.11.2009, 13:02
|
|
Познающий
Регистрация: 13.04.2009
Сообщений: 42
Провел на форуме: 293024
Репутация:
111
|
|
wchar:
hDevice = CreateFileW(L"\\\\.\\kimul25",GENERIC_READ|GENERIC _WRITE,0,NULL,OPEN_EXISTING,0, NULL);
уникод отклучаеш в настройках Visual Studio:
Project -> properties
|
|
|

24.11.2009, 13:04
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Пиши явные имена API функций
CreateFile - это макрос который в зависимости от настроек ссылается на
CreateFileA или CreateFileW
Первый для ANSI строк второй для WideChar
Если юзаеш WideChar то перед строкой ставь символ L типа
CreateFileW(L"filename", .......);
|
|
|

24.11.2009, 13:17
|
|
Постоянный
Регистрация: 05.06.2009
Сообщений: 706
Провел на форуме: 2764047
Репутация:
759
|
|
Сообщение от 043nKRuT0y
Подскажите как исправить такую ошибку :
Создаю я значить файл
Код:
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.
и таких ошибок не возникает.
|
|
|

24.11.2009, 13:42
|
|
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме: 3009843
Репутация:
204
|
|
Как вариант используй мультибайтовую кодировку.
|
|
|

24.11.2009, 13:49
|
|
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме: 394522
Репутация:
14
|
|
всем спс - разобрался , хотя насчет Visual Studio ты прав - что то она перегибает в "некоторых местах" - в одной папке проекта столько файлов что не пойму на**я они нужны ......
|
|
|

25.11.2009, 12:46
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
В начале кода напиши #undef UNICODE
|
|
|

25.11.2009, 21:11
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
в одной папке проекта столько файлов что не пойму на**я они нужны ......
Это пройдет с опытом 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|