c++ strcpy ошибка [дубликат]

279
16 июня 2018, 14:40

На данный вопрос уже ответили:

  • В чем смысл предупреждения “C4996: '…': This function or variable may be unsafe”? 1 ответ

Есть массив структур:

struct schoolboy
{
public:
    char firstName[30];
    char secondName[30];
    char addres[50];
    int schoolNumber;
    int schoolclass;
    schoolboy input(schoolboy *base);
    schoolboy recording(schoolboy *base, schoolboy *record, int number);
};

Вот реализация:

int main(){
    int number;
    setlocale(LC_ALL, "Rus");
    cout << "Введите число " << endl;
    cin >> number;
    schoolboy base[28], record[28], a;
    a.input(base);
    a.recording(base, record, number);
    recordOut(record);
    system("pause");
    return 0;
}

А вот проблемная функция, проблема именно в strcpy:

schoolboy schoolboy::recording(schoolboy *base, schoolboy *record, int 
number)
{
if (base->schoolNumber == number)
{
    if (base->schoolclass==10 || base->schoolclass==11)
    {
    cout << "1" << endl;
    for (int i = 0; i < 2; i++)
    {
        strcpy(record[i].firstName, base[i].firstName);  //тут ошибка
        strcpy(record[i].secondName , base[i].secondName);
        strcpy(record[i].addres, base[i].addres);
    }
    }
    else
    {
        cout << "Haven't 10 or 11 class" << endl;
        return *base;
    }
 }
 else
 {
    cout << "Not found" << endl;
    return *base;
 }
 return *record;

Как исправить ошибку? И не могли бы вы дать советы по реализации в «мэйне» ф-ий из структур.

Ошибка:

error C4996: 'strcpy': This function or variable may be unsafe.
Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Answer 1

Замени все strcpy на strcpy_s.

Answer 2

Если не хотите разбираться с заморочками студии, есть еще один способ. В настройках проекта указать как предопределенный макрос вот это:

#define _CRT_SECURE_NO_WARNINGS

Или можно добавить это в начало файла.

READ ALSO
Нужна помощь по структурам и строкам c++

Нужна помощь по структурам и строкам c++

?)Есть вот такое задание

276
Полный список #include директив [закрыт]

Полный список #include директив [закрыт]

Существует ли полный список #include директив, которые нужно подключить, чтобы можно было использовать все операторы c++, дело в том что что я изучая...

307
Произведение ряда рекурсивно

Произведение ряда рекурсивно

Помогите пожалуйста разобраться с рекурсиейИзучаю эту тему сейчас на парах, и никак не могу допереть, как с ней работать

269
SDL2 как загрузить картинку (на иконку окна и на курсор)?

SDL2 как загрузить картинку (на иконку окна и на курсор)?

Нужно загрузить картинку в SDL_Surface для установки её на иконку окна и на кастомный курсорНашел вот этот способ превращения массива пикселей...

297