powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / CreateFile, char, TEXT(quote)
4 сообщений из 4, страница 1 из 1
CreateFile, char, TEXT(quote)
    #38073306
mr.Jack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Есть такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
char cFileName[100] = "";

cout << "Enter a file name: ";
cin >> cFileName;

hFile = CreateFile((LPCWSTR)(cFileName), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == NULL || hFile == INVALID_HANDLE_VALUE) {
	printf("Creating file error (%s): (code: %d)\n", cFileName, GetLastError());
	return 1;
}
...


при таком раскладе GetLastError() == 2, т.е. ERROR_FILE_NOT_FOUND . Однако, если первым параметром CreateFile сделать TEXT("path_to_file"), то все открывается нормально. Почему так происходит? Ведь в первом случае все сделано верно с первого взгляда.. что такого необычного делает TEXT(quote) ?
...
Рейтинг: 0 / 0
CreateFile, char, TEXT(quote)
    #38073310
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.JackВедь в первом случае все сделано верно с первого взгляда..
Принудительно приводить char* к wchar* это сильные грабли. Укороченные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CreateFile, char, TEXT(quote)
    #38073949
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проект видимо в юникоде и CreateFile определен, как #define CreateFile CreateFileW.
CreateFileW требует имя файла в юникоде, а ты подсовываешь в ansi.
Варианта 2:
-использовать ansi версию CreateFileA вместо CreateFile.
-преобразовать ansi строку в юникод строку функцией MultiByteToWideChar.
...
Рейтинг: 0 / 0
CreateFile, char, TEXT(quote)
    #38074340
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> что такого необычного делает TEXT(quote)
возьмите и посмотрите
он определен в заголовках winapi
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / CreateFile, char, TEXT(quote)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]