Do I have to learn C prior to learning C++?

The short answer to this question is: no, you don't have to learn C before learning C++. Learning C is not a prerequisite to learning C++.
C and C++ are two different languages
C and C++ are two different languages with some similarities, but also vast differences.
C and C++ are two different programming paradigms, and mixing the two should be avoided.
C, for the most part, is a procedural language, whereas C++ is a multiparadigm language, meaning it can be both procedural and object-oriented.
Can it be beneficial to learn C first?
Both yes and no, with the emphasis on no. For example, if you already know C and would like to learn C++, then there are things to unlearn:
- The use of raw arrays and pointers
- The use of character arrays to represent strings
- Thinking in terms of bits and bytes
- Other, C-specific techniques
And new things to learn:
- The use of containers and algorithms from the C++ Standard Library
- The use of smart pointers
- The use of
std::string
to manipulate strings - Classes and templates
- Thinking in terms of objects
But, if you already know C, then it might prove beneficial as you are already familiar with the following topics, which are quite similar in both C and C++:
- Built-in types
- Declarations, definitions, and expressions
- Built-in statements
- Functions (to a degree)
In summary, you don't have to learn C before learning C++. It is often better to start with a clean sheet when learning C++.