Дело в том что код работает когда файл находиться вместе с экзешником, а когда я его ложу в крень диска c, то прога не работает. Что я только не пробовал и так и так - ничего. Подскажите Вот что я пробовал \\.\c:\1.gen \\.\c:1.gen \\?\c:1.gen \\?\c:\1.gen Ну и сбольшими буквами тож. Нехочет открывать и всё #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; } }
Символ '\' в С считается началом escape-последовательности, например, '\n'. Соответственно, чтобы в сам исполняемый попала, например, строка "c:\1.txt", то записать ее в исходнике надо как "c:\\1.txt".