Re:Massacring C Pointers
by slrz on Tuesday June 26, 2018 @05:25PM
(#17404127)
Then you probably shouldn't feed it to the str* functions at all. Use the mem* functions instead.
[ Parent
| on HN ]
That's the same as saying you should never use the str* functions. Nothing in C guarantees a string must have a null byte. As you're well aware, C-strings aren't a separate type that's distinct from char arrays.
Sure you can say that good programmers will always ensure a C-string is a C-string but there's decades of programming history that shows that's not true in practice.
Then use a language other than C that doesn't shoehorn string handling into char , as I've mentioned in other comments. If you're have a char with no terminating null byte and you hand it to a function with "str" and its name, you're going to have a bad time.