Замена strcpy и ошибки C4996, E0304, C2660

987
24 декабря 2017, 09:34

Как можно заменить strcpy не теряя работоспособности?

for (i = 0; i < kol; i++)
    if ((strcmp(Regname.Name, mas[i].Name) == 0) && (strcmp(Regname.Password, mas[i].Password) == 0)) {
        strcpy(role, mas[i].role);
        delete[]mas;
        return Regname.Name;
    }

Появился данный вопрос, т.к. постоянно вылазит ошибка о небезопасной функции или переменной.

Ошибка C4996. Чтобы её решить define _CRT_SECURE_NO_WARNINGS не вариант.

Хотелось бы услышать ответ для современного уровня, если strcpy "устарел".

Замена на strcpy_s вызывает другие ошибки:

  • отсутствуют экземпляры перегруженная функция функция "strcpy_s", соответствующие списку аргументов.

  • strcpy_s: функция не принимает 2 аргументов

Если писать 3 аргумента, как и положено, выводит ошибку:

READ ALSO
Найти максимальные элементы в матрице

Найти максимальные элементы в матрице

Нужно найти максимальные элементы в матрице и вывести их отдельно Код есть, но не знаю как доработать

221
QSlider C++ трекинг

QSlider C++ трекинг

Как при изменении значения слайдера вызывать определённый метод? Пробовал вот так, но CLion выдаёт ошибку:

217
Запуск программы с запуском Windows

Запуск программы с запуском Windows

Есть программаИнтересно, как сделать так, чтобы она запускалась вместе с Windows? Поместить ярлык в автозапуск не подходит

215