Actually, the functions aren't deprecated. Feel free to use them as you had learned. Good news: the world didn't turn upside down, as you may have thought.
There's been an outcry after VC2005 was out and that crap started to pour on the heads of unsuspecting coders. It's perfectly legal in C and C++ to use functions strlen(), strcmp(), sprintf(), fgets() and the likes, and also std::copy(). Microsoft had no "right" to declare them deprecated, because neither ISO 9989 (C) nor ISO 14482 (C++) do declare them as such.
According to ISO 14882, "deprecated" means "avoid, future versions of the standard may remove this".
There are literally millions of programs written with the use of "unsecure" CRT functions, you cannot simply dike out a feature without breaking those programs.
The very best thing you could do to stop that kind of crap is to locate crtdefs.h in vc/include directory and stamp those #define xxx_NO_DEPRECATE right on top, to turn the warnings off once and for all.
A couple of links to consider:
1 2.
Edit: Also the ...printf functions are already broken since VC 2005. Ever heard of a wonderful
'%n' specifier? (Not that widespread, but good to have around in some cases.) Well, MS decided that it's too dangerous for you to use it, and simply disabled it. And so printf() doesn't behave as required by standards. Wait, you didn't actually know that, did you? Happy late night debugging then! Oh, and in a sort of good will and infinite kindness they added a
safety switch (but it's hard to find). Like
in a gun, you know. A perfect attitude!