Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137

Функция CreateFile (winapi)

27.09.2019, 21:50. Показов 3939. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
//char test[MAX_PATH]
//GetModuleFileName(NULL, test, MAX_PATH);
//CopyFile(test, "D:\\prog.exe", FALSE);
 
//HANDLE file;
    //file = CreateFile("D:\\file.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, 
    //CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
    //CloseHandle(file);
Когда запускаю prog.exe с рабочего стала не создаеться файл на диске d, а если из директории d:\\ то все работает
почему так ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.09.2019, 21:50
Ответы с готовыми решениями:

WinAPI CreateFile
хай.. сорри тупой вопрос.. хочу чтоб в функции создания файла можна самому вписать имя файла.. но не могу плонять почему выдает ошибку ((...

CreateFile and ReadFile, WinAPI
всем доброго времени суток! открываю текстовый файл и вывожу содуржимое в консоль: char buf; DWORD nl; HANDLE hf =...

Чтения результатов ввода со сканера RS-232(com-port) через ReadFile/CreateFile WinAPI
Доброго времени суток. Есть задача, считать информацию со сканера RS-232 (com-port). Как правильно это делать через ReadFile? ...

10
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
28.09.2019, 16:22  [ТС]
еще обнаружил что если запустить с рабочего стола то не выходит
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.09.2019, 16:30
Лучший ответ Сообщение было отмечено insandre как решение

Решение

Копирование самого себя? Фу такие программы писать. Мамкин хакер, а с отладчиком работать не научился? А коды возврата из функций кто проверять будет? Сын маминой подруги?
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
28.09.2019, 17:29  [ТС]
Vourhey,
почему сразу фу?
ну с отладчиком не научился да
коды возврата из функций ? тут я не пойму

Добавлено через 5 минут
а кто такой сын маминой подруги а то я не в теме
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.09.2019, 17:29
Цитата Сообщение от insandre Посмотреть сообщение
ну с отладчиком не научился да
Самое время.
Цитата Сообщение от insandre Посмотреть сообщение
тут я не пойму
Открой документацию по функции CreateFile. Как узнать, функция сработала успешно, или нет?
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
28.09.2019, 17:36  [ТС]
спс а так вкратце в чем фишка не пойму
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.09.2019, 17:57
В чем фишка чего?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.09.2019, 18:54
Цитата Сообщение от insandre Посмотреть сообщение
Когда запускаю prog.exe с рабочего стала не создаеться файл на диске d, а если из директории d:\\ то все работает
почему так ?
Какой именно файл не создаётся, prog.exe или file.txt?

Цитата Сообщение от insandre Посмотреть сообщение
еще обнаружил что если запустить с рабочего стола то не выходит
Покажи весь код

Добавлено через 3 минуты
Цитата Сообщение от insandre Посмотреть сообщение
коды возврата из функций ? тут я не пойму
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char test[MAX_PATH];
GetModuleFileName(NULL, test, MAX_PATH);
if  (CopyFile(test, "D:\\prog.exe", FALSE) == FALSE)
   std::cout << "CopyFile failed: " << ::GetLastError() <<std::endl;
 
HANDLE file;
    file = CreateFile("D:\\file.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, 
    CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
 
if (file == INVALID_HANDLE_VALUE)
   std::cout << "CreateFile failed: " << ::GetLastError() <<std::endl;
 
   CloseHandle(file);
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
28.09.2019, 21:12  [ТС]
зачем столько проверок
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
29.09.2019, 16:32  [ТС]
oleg-m1973,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int main()
{
    setlocale(0, "");
 
    char prog[MAX_PATH];
    char buff[15000];
 
    GetModuleFileName(NULL, prog, MAX_PATH);
    CopyFile(prog, "D:\\prog.exe", FALSE);
 
    WIN32_FIND_DATA ff;                              
    HANDLE f;            
    
    f = FindFirstFile("D:\\tekst.txt", &ff);
 
    if (f != INVALID_HANDLE_VALUE) {
        cout << "файл найден";
 
        FILE* f1;
        FILE* f2;
        f1 = fopen("D:\\folder\\newtekst.txt", "rb"); 
        if (f1 != NULL) {
            f2 = fopen(ff.cFileName, "rb+"); 
            if (f2 != NULL) {
 
            
                    size_t size = fread(buff, 1, 15000, f1);
 
                    fwrite(buff, 1, size, f2);            
 
 
                
            }
        }
    }
 
 
    system("pause");
    return 0;
}
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.09.2019, 13:13
Цитата Сообщение от insandre Посмотреть сообщение
зачем столько проверок
чтобы на форум не обращаться по поводу вещей, причину которых можно увидеть сразу.

Добавлено через 16 минут
insandre, для r и для + файл уже должен существовать. Читай документацию.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2019, 13:13
Помогаю со студенческими работами здесь

Функция CreateFile
Добрый день. У меня такая проблема при работе с функцией: функция CreateFile возвращает -1, если ей передать полное имя файла или 0, если...

Печать под XP (функция CreateFile)
У меня на форме есть RichEdit1 в который я пишу текст. Так же есть установленный принтер. Пытаюсь вывести на печать из RichEdit1. Если...

функция readfile и createfile
почему вылетает ошибка int error; HANDLE HFile; OFSTRUCT OFFile; HFile=CreateFile(&quot;C:\\1.txt&quot;,GENERIC_READ,0,0,OPEN_EXISTING,0,0); ...

Функция CreateFile(), выдает ошибку: ERROR_NOT_SUPPORTED.
При загрузки динамического VxD функцией hDevice = CreateFile('\\.\b.vxd',0,0,0,0, FILE_FLAG_DELETE_ON_CLOSE, NULL); hDevice всегда...

Что возвращает API-функция CreateFile?
Здравствуйте! Суть вопроса в следующем: Открываю файл или физический диск с помощью функции CreateFile. Как не странно, всё работает -...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru