What is length of an invalid string? What is the length of the concatenation of two invalid strings?
There are sensible answers. But they are weird.
There are sensible answers. But they are weird.
I would say let an INVALID string be length 0. Then accept that catting a valid and invalid string would result in a shorter length.
Which one do you think is safer?
Negative lengths are not compatible with unsigned representation.
A system implementing invalid string values must choose a text encoding such as UTF-8 that supports the concept of an invalid character. Null termination is too flexible. As such is simple length prepending.