What is a null-terminated string?

c++, null-terminated

Solution

A null-terminated string is a contiguous sequence of characters, the last one of which has the binary bit pattern all zeros. I'm not sure what you mean by a "usual string", but if you mean `std::string`, then a `std::string` is not required (until C++11) to be contiguous, and is not required to have a terminator. Also, a `std::string`'s string data is always allocated and managed by the `std::string` object that contains it; for a null-terminated string, there is no such container, and you typically refer to and manage such strings using bare pointers.

All of this should really be covered in any decent C++ text book - I recommend getting hold of Accelerated C++, one of the best of them.

Problem

How does it differ from std::string?

Original source