Здравствуйте, Tilir, Вы писали:
T>Вопрос не спешный, я просто любопытствую.
T>MSVC постоянно предлагает такие функции, например sprintf_s вместо sprintf (последняя помечена обидным deprecated), тогда как в стандарте C о них ни слова и другие компиляторы их не знают. Приходится руками отключать соответствующие warning'и (или объявлять _CRT_SECURE_NO_DEPRECATE). Собственно вопросы:
T>1. Это очередная "превосходная фича" от MS или нечто действительно ценное, на что следует обратить внимание?
T>2. Нужны ли они, применяете ли их вы лично и зачем?
T>3. Где об этом можно почитать подробнее (какой-нибудь внятный туториал: вот без sprintf_s было плохо, с вот с ним стало хорошо)?
Вот без него было плохо:
char too_short_buffer[10];
sprintf(buf, "%s", s);
И вот без него было плохо:
char buffer[10];
snprintf(buf, 128, "%s", s);
Вот с ним стало хорошо:
char buffer[10];
sprintf_s(buf, "%s", s);
T>1. Это очередная "превосходная фича" от MS или нечто действительно ценное, на что следует обратить внимание?
Смотри сам. Если для тебя те проблемы, которые решают эти функции являются проблемами, то применяй. Если тебе и так хорошо, и ты никогда не считал это проблемами, то и не парься. Я так думаю.
T>2. Нужны ли они, применяете ли их вы лично и зачем?
Я лично их не применял, т.к. printf сам по себе убогий — неудобный, небезопасный и медленный. И такие навороты ему не помогут. Имхо. Кривого могила исправит

Но если я был вынужден использовать printf, то возможно бы и применял.
T>3. Где об этом можно почитать подробнее (какой-нибудь внятный туториал: вот без sprintf_s было плохо, с вот с ним стало хорошо)?
MSDN