Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 52, средняя оценка - 4.73
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
05.09.2010, 02:32     Чем отличаются функции strcpy и strcpy_s #1
Подскажите в чем отличаются функции:
strcpy от strcpy_s,
sprintf от sprintf_s,
strcat от strcat_s, и т.д.
И какой вариант лучше использовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.09.2010, 02:39     Чем отличаются функции strcpy и strcpy_s #2
jonson, _s это все вижуал студивские придумки. Более безопасные типа. В какой-то степени действительно да, ибо позволяют каким-то по счету параметром вводить кол-во элементов. С другой стороны они только студивские, следовательно лучше имхо пользоваться стандартными.
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
05.09.2010, 02:54  [ТС]     Чем отличаются функции strcpy и strcpy_s #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 на сколько я помню, без предупреждений было.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.09.2010, 02:56     Чем отличаются функции strcpy и strcpy_s #4
jonson, Дык. Да. Он выдает предупреждения. Но их можно отключить, можно не обращать внимания, а можно писать с _s. Подозреваю, что допустим в gcc такой код не скомпилируется.
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
05.09.2010, 03:00  [ТС]     Чем отличаются функции strcpy и strcpy_s #5
Ясно. Спасибо.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
05.09.2010, 13:35     Чем отличаются функции strcpy и strcpy_s #6
Написано же - включи define _CRT_SECURE_NO_WARNINGS и оно не будет ругаться
Сам я предпочитаю юзать strlcpy(), strlcat()
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
05.09.2010, 13:45  [ТС]     Чем отличаются функции strcpy и strcpy_s #7
Да я уже разобрался. Спасибо.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
05.09.2010, 13:56     Чем отличаются функции strcpy и strcpy_s #8
В этой теме была несколько более подробная дискуссия Использование strcpy_s
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2010, 14:00     Чем отличаются функции strcpy и strcpy_s
Еще ссылки по теме:

C++ Ошибка error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
Вылетает "strcpy_s", в чем может быть ошибка? C++
C++ Чем отличаются указатель в теле функции и в аргументе

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
05.09.2010, 14:00     Чем отличаются функции strcpy и strcpy_s #9
Цитата Сообщение от odip Посмотреть сообщение
Сам я предпочитаю юзать strlcpy(), strlcat()
Жаль, мелкомягкие компиляторы про эти функции ничего не знают...
Yandex
Объявления
05.09.2010, 14:00     Чем отличаются функции strcpy и strcpy_s
Ответ Создать тему
Опции темы

Текущее время: 16:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru