Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 17.08.2021
Сообщений: 13

Error C4996: 'strcpy' // Не помогает define

17.08.2021, 07:06. Показов 4808. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Возникла проблема с оператором strcpy. Отоброзило ошибку "error C4996". Знаю, что нужно использовать #define _CRT_SECURE_NO_WARNINGS но это не помогло. Буду благодарен за подсказку, в чем проблема. Заранее спасибо

Код: // define, как и функция main находиться в самом низу

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include<iostream>
#include "stdio.h"
using namespace std;
class Students
{
private:
    int student_number;
    char* student_name;
    char* student_surname;
    double mark;
public:
    friend ostream& operator<<(ostream& str, const Students& person)
    {
        cout << "\n Student name: " << "\t"<<person.student_name << "\nStudent surname: " <<"\t"<< person.student_surname << "\n Mark: " <<"\t"<< person.mark << "\n";
        return str;
    }
    Students() : student_name(nullptr), student_surname(nullptr), mark(0.0)
    {}
    Students(const char* student_name, const char* student_surname, double mark)
    {
 
 
        this->student_name = (char*)calloc(strlen(student_name), sizeof(student_name));
        strcpy(this->student_name, student_name);
        this->student_surname = (char*)calloc(strlen(student_surname), sizeof(student_surname));
        strcpy(this->student_surname, student_surname);
        this->mark = mark;
    }
    void change_name(const char* new_name)
    {
 
        free(this->student_name);
        this->student_name = (char*)calloc(strlen(new_name), sizeof(new_name));
        strcpy(this->student_name, new_name);
    }
    void change_surname(const char* new_surname)
    {
 
        free(this->student_surname);
        this->student_surname = (char*)calloc(strlen(new_surname), sizeof(new_surname));
        strcpy(this->student_surname, new_surname);
    }
    void change_mark(double new_mark)
    {
        this->mark = new_mark;
    }
    void index(int index)
    {
        this->student_number = index;
    }
    char* getName()
    {
        return this->student_name;
    }
    double getMark()
    {
        return this->mark;
    }
 
    int get_index()
    {
        return student_number;
    }
    ~Students()
    {
        free(student_name);
        free(student_surname);
    }
 
};
#define _CRT_SECURE_NO_WARNINGS
int main()
{
 
 
    return 0;
}
P.S Код еще не закончен, поэтому Main еще пустая
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.08.2021, 07:06
Ответы с готовыми решениями:

Error C4996: 'strcpy'
:cry::wall::rtfm:%-) Нужна помощь! error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s...

Error C4996: 'strcpy'
Проблема такая, есть код, который должен работать, но он не работает и выдаёт это: error C4996: 'strcpy': This function or variable may be...

Error C4996: 'strcpy': This function or variable may be unsafe
Классы: Ток-шоу, Развлекательная передача, Телеканал, СМИ (средство массовой информации), Радиостанция, Хит-парад Запросы: вывести...

21
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
18.08.2021, 00:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Volga_ Посмотреть сообщение
в студии по-моему вы сможете использовать strcpy_s()
и это - отличный вариант.
1
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
18.08.2021, 10:12
Цитата Сообщение от SmallEvil Посмотреть сообщение
я уже привел ссылку на стандарт, не удовлетворяет ?
Слово optional? Не удовлетворяет конечно.
Еще раз: использовать strcpy_s и подобные не стоит не потому что функции плохи или что-то в этом роде, а потому что в большинстве компиляторов их просто нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.08.2021, 10:12

Копирование строк - error C4996: 'strcpy': This function or variable may be unsafe
Всем привет! :drink: char *p; char q; cin &gt;&gt; q; p = new char; strcpy(p, q); и тута VS мне говорит что...

Ошибка error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;fstream&gt; #include&lt;string&gt; #include&lt;iomanip&gt; using namespace std; struct...

Выдает ошибку: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
Уважаемые форумчане! У меня не работает программа. Все написано &quot;вроде&quot; правильно. Выдает ошибку: error C4996: 'strcpy': This function...

Компилятор выдаёт ошибку error C4996: 'strcpy': This function or variable may be unsafe
Добрый день! Помогите , пожалуйста, узнать в чём проблема. Код взят из книги. Мне он не очень нравится, были мысли что где-то есть...

Error C3861\error C3861\error C4996: 'strcpy':
Вот листинг программы ... #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;fstream&gt; #include&lt;string&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru