Learning C before C++ is a very bad idea, as it will make you try to use language patterns that are considered bad ideas in C++, as there are safer alternatives.
I think that in order to be proficient in C++, you also need to understand what separates C++ from C and how C++'s features (classes, overloaded functions, templates) map to C.
C++ is built on C. You need to know C (but maybe not the C library) to know C++. Like pointers