I suggest picking up O'reilly's Practical C++ Programming. Great book. And the time it takes to get proficient at C++ really depends on many factors. Do you know C, Java, C#, or other languages similar to C? Do you know any programming languages at all? Are you willing to put in lots of effort, or do you just plan on doing this every once in a while. I'd say it can be anywhere from a few days to months. I'll tell you, though, that if you know another programming language, you can get the basics of C++ down in a few days. After that, it's just a matter of practice.