Помогите с функцией CreateFile

Тема в разделе "WASM.BEGINNERS", создана пользователем ajak, 2 сен 2008.

  1. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Дело в том что код работает когда файл находиться вместе с экзешником, а когда я его ложу в крень диска c, то прога не работает. Что я только не пробовал и так и так - ничего.
    Подскажите
    Вот что я пробовал
    \\.\c:\1.gen
    \\.\c:1.gen
    \\?\c:1.gen
    \\?\c:\1.gen
    Ну и сбольшими буквами тож. Нехочет открывать и всё :dntknw:
    #include <windows.h>
    #include <stdio.h>
    int main()
    {
    HANDLE hFile;

    hFile = CreateFile(TEXT("1.gen"), // file to open
    GENERIC_READ, // open for reading
    FILE_SHARE_READ, // share for reading
    NULL, // default security
    OPEN_EXISTING, // existing file only
    FILE_ATTRIBUTE_NORMAL, // normal file
    NULL); // no attr. template

    if (hFile == INVALID_HANDLE_VALUE)
    {
    printf("Could not open file (error %d)\n", GetLastError());
    return 0;
    }
    }
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Символ '\' в С считается началом escape-последовательности, например, '\n'. Соответственно, чтобы в сам исполняемый попала, например, строка "c:\1.txt", то записать ее в исходнике надо как "c:\\1.txt".
     
  3. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Вполне возможно, что у вас нет административных разрешений на создание файла в корне диска C: