Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330

Ошибка в CreateFile.

07.03.2012, 03:10. Показов 1715. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу консоль.
Когда передаю файл в функцию CreateFile, получаю ошибку INVALID_HANDLE_VALUE.
C++
1
2
3
4
5
6
7
8
9
10
11
    char filename[80];
    printf("Введите файл базы данных: ");
    scanf("%s",&filename);
    HANDLE  myFile = CreateFile(
    (LPCWSTR) filename,
    GENERIC_READ,
    FILE_SHARE_READ, 
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    NULL);
Если передаю статический адрес - всё Ок.
C++
1
2
3
4
5
6
7
8
9
10
11
    char filename[80];
    printf("Введите файл базы данных: ");
    scanf("%s",&filename);
    HANDLE  myFile = CreateFile(
    TEXT("C:\\..."),
    GENERIC_READ,
    FILE_SHARE_READ, 
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    NULL);
Как побороть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2012, 03:10
Ответы с готовыми решениями:

CreateFile(): ошибка "5"
Помогите пожалуйста не могу понять почему отклоняет по правам пользователя ошибка 5 . #include <windows.h> #include...

CreateFile()
Всем добрый вечер. Проблема с директорией записи файла (пишет в директорию екзешника) эта проблема происходит после запуска...

CreateFile()
Как передать указатель на имя файла в функцию CreateFile(). Имя в структуре struct struct1 { char name; } ...

1
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
07.03.2012, 07:05
Цитата Сообщение от Aleator Посмотреть сообщение
Как побороть?
Разобраться с тем что есть char (ANSI символы), wchar_t (символы юникода), TCHAR (т.н. универсальные символы).
Перестать смешивать в одном приложении char, wchar_t, TCHAR.
Узнать как правильно выполнять преобразование char в wchar_t и наоборот.
Прочитать в MSDN описание параметров функции CreateFile.
И тогда будет вам счастье

А пока напишите так
C++
1
2
3
4
5
6
7
8
9
10
11
        TCHAR filename[80] = {0};
        printf("Введите файл базы данных: ");
        _tscanf(_T("%79s"), filename); // ОГРАНИЧИВАЕМ КОЛИЧЕСТВО СИМВОЛОВ, НАМ ЖЕ НЕ НУЖНО ПЕРЕПОЛНЕНИЕ БУФЕРА
        HANDLE  myFile = CreateFile(
        filename,                  // "C:\\..." - что это вы пытались открыть такое?
        GENERIC_READ,
        FILE_SHARE_READ, 
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL);
Естественно, вы должны ввести корректное имя существующего файла (возможно с указанием пути к нему).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2012, 07:05
Помогаю со студенческими работами здесь

CreateFile
Опрашиваю все съёмные носители и далее использую функцию CreateFile вот таким образом invoke CreateFile, drive, GENERIC_WRITE,...

CreateFile, WriteFile
Подскажите работающий код программы на с++, которая создаёт файл с помощью CreateFile

Ttread CreateFile
Вопрос такой. Создал поток. В нем вызываю функцию, которая обращается к форме (выводит сообщения) while(!Terminated){ ...

Ошибки CreateFile
File=CreateFile(FileName, GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL); Что происходит, если файла нет? Исключение? Или функция...

CreateFile() LPCTSTR
Помогие плиз, разобраться с проблемой. Использую функцию CreateFile(). LPCTSTR lpszSystemInfo; lpszSystemInfo =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru