Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/58: Рейтинг темы: голосов - 58, средняя оценка - 4.95
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
1

Чем отличаются функции strcpy и strcpy_s

05.09.2010, 02:32. Показов 10789. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите в чем отличаются функции:
strcpy от strcpy_s,
sprintf от sprintf_s,
strcat от strcat_s, и т.д.
И какой вариант лучше использовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2010, 02:32
Ответы с готовыми решениями:

strcpy/strcpy_s
Добрый вечер! Есть класс (упрощенно): class const_string { public: const_string(char...

Разница между strcpy_s и strcpy?
Добрый день! Писал программу с использованием оператора strcpy. Компилятор выдал такое вот...

Как правильно задействовать strcpy_s вместо strcpy?
Имеется простой класс, да, strcpy отрабатывает корректно, но, хотелось бы понять, как правильно...

Ошибка error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
#include <iostream> #include <cstring> #include <fstream> #include<string> #include<iomanip> ...

8
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.09.2010, 02:39 2
jonson, _s это все вижуал студивские придумки. Более безопасные типа. В какой-то степени действительно да, ибо позволяют каким-то по счету параметром вводить кол-во элементов. С другой стороны они только студивские, следовательно лучше имхо пользоваться стандартными.
0
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
05.09.2010, 02:54  [ТС] 3
Я работаю в VS2008 и если пишу без _s, компилятор выдает:

warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

В VS6.0 на сколько я помню, без предупреждений было.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.09.2010, 02:56 4
jonson, Дык. Да. Он выдает предупреждения. Но их можно отключить, можно не обращать внимания, а можно писать с _s. Подозреваю, что допустим в gcc такой код не скомпилируется.
2
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
05.09.2010, 03:00  [ТС] 5
Ясно. Спасибо.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
05.09.2010, 13:35 6
Написано же - включи define _CRT_SECURE_NO_WARNINGS и оно не будет ругаться
Сам я предпочитаю юзать strlcpy(), strlcat()
0
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
05.09.2010, 13:45  [ТС] 7
Да я уже разобрался. Спасибо.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
05.09.2010, 13:56 8
В этой теме была несколько более подробная дискуссия Использование strcpy_s
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
05.09.2010, 14:00 9
Цитата Сообщение от odip Посмотреть сообщение
Сам я предпочитаю юзать strlcpy(), strlcat()
Жаль, мелкомягкие компиляторы про эти функции ничего не знают...
0
05.09.2010, 14:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2010, 14:00
Помогаю со студенческими работами здесь

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

Функции. Чем отличаются параметры функции от переменных????
Функции могут принимать параметры, т.е. некоторые значения, передаваемые функции для того, чтобы...

Чем отличаются функции от отношений?
Используя данные задачи №1 построить пример функции из А в В. Чем отличаются функции от отношений?

Чем отличаются эти функции?
Аргумент в первой функции передается по значению. Это значит что создается копия переменной. А вот...


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

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