С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 30.11.2014
Сообщений: 91

Strcpy выдает ошибку

06.12.2015, 20:49. Показов 1328. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
#pragma once
#include "targetver.h"
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
struct Work
{
char Name[20]; //Имя
char NameLast[30]; //Фамилия
int Age; //Возраст
char job[30]; //Место учебы
void Input(Work &student); //Функция ввода данных в структуру
Work *Next; //Адрес на следующий элемент
};

class List
{
Work *Head; //Указатель на начало списка
public:
List() :Head(NULL) {}; //Конструктор по умолчанию (Head=NULL)
~List();//Деструктор
void Add(Work &work);
void Show();
};

/*ФУНКЦИЯ ЗАПОЛНЕНИЯ ДАННЫХ */
void Work::Input(Work &work)
{
cout << endl; //Небольшой разрыв при каждом новом вводе
cout << "Имя: "; cin.getline(Name, 20); //Ввод имени
cout << "Фамилия: ";cin.getline(NameLast, 30); //Ввод фамилии
cout << "Полных лет ";cin >> Age; //Ввод возраста
cin.ignore(); //Игнорируем символ
cout << "Кем работает ";cin.getline(job, 30);
}

List::~List() //Деструктор класса List
{
while (Head != NULL) //Пока по адресу есть хоть что-то
{
Work *temp = Head->Next; //Сразу запоминаем указатель на адрес следующего элемента структуры
delete Head; //Освобождаем память по месту начала списка
Head = temp; //Меняем адрес начала списка
}
}

/*ФУНКЦИЯ ДОБАВЛЕНИЯ НОВОЙ СТРУКТУРЫ В СПИСОК*/
void List::Add(Work &work)
{
Work *temp = new Work; //Выделение памяти под новую структуру
temp->Next = Head; //Указываем, что адрес следующего элемента это начало списка

//Копирование содержимого параметра student в только что созданную переменную
strcpy(temp->Name, work.Name);
strcpy(temp->NameLast, work.NameLast);
temp->Age = work.Age;
strcpy(temp->job, work.job);

Head = temp; //Смена адреса начала списка
}


/*ФУНКЦИЯ КЛАССА LIST ДЛЯ ВЫВОДА СПИСКА НА ЭКРАН*/
void List::Show()
{
Work *temp = Head; //Объявляем указатель и изначально он указывает на начало

while (temp != NULL) //Пока по адресу на начало хоть что-то есть
{
//Выводим все элементы структуры
cout << temp->Name << "tt"; //Вывод имени
cout << temp->NameLast << "tt"; //Вывод фамилии
cout << temp->Age << "tt"; //Вывод возраста
cout << temp->job << endl; //Вывод долэжности

temp = temp->Next; //Указываем на следующий адрес из списка
}
cout << endl;
}

int main()
{
Work work; //Обяъвили переменную, тип которой работник
int N; //Объявили переменную - число их
List lst; //Объявили переменную типа Список. Она выступает как контейнер данных

cout << "N = ";cin >> N; //Ввели число сотрудников

for (int i = 0;i<N;i++)
{
work.Input(work); //Передаем в функцию заполнения переменную
lst.Add(work); //Добавляем заполненную структуру в список
}

cout << endl;
lst.Show(); //Показываем список на экране
system("PAUSE");
}


*******************
strcpy выдает ошибку " 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details"
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2015, 20:49
Ответы с готовыми решениями:

Копирование без strcpy. почему выдает ошибку?
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; using namespace std; int main() {

Копирование без strcpy. почему выдает ошибку?
почему выдает ошибку? #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; using namespace std;

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

3
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
06.12.2015, 20:59
1) Написать в начале программы #define _CRT_SECURE_NO_WARNINGS
2) Удалить Студию, которая бракует написанный по стандарту код. Поставить QtCreator с MinGW.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
06.12.2015, 21:03
Лучший ответ Сообщение было отмечено peper как решение

Решение

Отключи SDL в свойствах проекта. Надо сразу, когда создаёшь проект, снимать флажок с SDL.
1
1 / 1 / 0
Регистрация: 30.11.2014
Сообщений: 91
06.12.2015, 21:35  [ТС]
не подскажите,как сделать поиск по всем элементам???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2015, 21:35
Помогаю со студенческими работами здесь

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

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Найти ошибку в программе: в visual studio выдает ошибку
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Выдает ошибку
Ругается на ПЕРЕМЕННУЮ I в цикле. В куске кода for (auto i = words.rbegin(); i != words.rend(); i++) { fout...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru