Learn C++. I would recommend you learn C first though, in my experience I found it hard to learn C++, then tried C and found it so easy and actually enjoyable, I returned to C++ after learning C and I found it so much easier to learn. Pointers are one of the hardest concepts to grasp in C++ and learning C first simplified the process for me.
Capabilities:
C is a lower level language than C++ and is mainly used for utility programs, command line tools and for developing memory intensive programs that mainly operate without a GUI or with a minimal UI. The C language in itself is incredibly small and can be easily learnt with speed. It is only the Packages and Extensions to the language to add functionality which make it large. If your intention is to learn C++ though you don't need to learn all of hat, just the core Language.
C++ is a fully fledged Object Oriented Language but still provides all the functionality of C through legacy features. You can use most C code inside a C++ application without problem.
Future-proof:
C was developed in 1973. It is 38 years old and it is still alive and used today and there is no sign of it going anywhere. Arguably it isn't compatible with Object Oriented Programming but despite popular misconceptions OOP can't solve every problem.
C++ was developed in 1983. It is 28 years old and it too is still used extensively and in some areas of development e.g. Games Development it is almost used exclusively. There is no sign of it going anywhere either. C++ is compatible with OOP as that was its purpose and remains one of, if not the most powerful OO programming language(s).
Uses:
Most modern Operating Systems still use C [some in conjunction with C++] for the development of their Kernel [the very core of the OS]. The UNIX shell which is also used by Linux and OS X is almost entirely C. A variant of C known as Objective C is also the language of choice by Apple both for its OS X programs and for iOS apps. iPhone and iPod Touch apps are written in Objective C.
C++ as already mentioned is heavily used in Gaming most major PC and PS3 games are written in C++. Xbox uses C# which is a Microsoft specialised implementation of Java [in essence, not literally]. C++ is used for many applications.
Your web browser [Firefox or IE] is written in C++. Right up to their latest distributions [Firefox 4 and IE 10 respectively] and there are no plans to change languages any time soon.
References:
Any C Programmer worth their weight learnt the language through this book [1]. It was written by the authors of the Language itself so you can't get a better insight to the language than that.
I won't suggest C++ reading materials as you already said you had books on it. You don't have to learn C first you can go straight for C++ but like I said I would advise you to try as I found it a great help
EDIT: [correcting other answers]
- C is not a hard language to learn. The language itself is simple.
- C++ is more advanced than Java.
- Java is slower because Java was developed with multiple safety nets to make developing programs easier for beginners - arguably many of these safety nets do more harm than good in terms of performance
- C++ has the same wealth of tools utilities and support as Java if you are willing to invest time and effort.
- C++ is not meant for Rapid Action Development - it is meant for programmers who know what they are doing, and what they want to do
At the end of the day you shouldn't believe anyone when they say how hard or how easy a language is to learn - not even me. How easy or difficult it will be for you is personal and will depend on your learning style your ability to grasp concepts and the time and effort you want to bestow on the learning process.
C++ takes time to learn - time most amateur programmers aren't willing to invest which is why so many people say it's hard to learn - like anything with time and effort you can understand it. There is nothing inherent about C++ that makes it more difficult than any other language to learn.