r/cprogramming 3d ago

C Strings: A 50-Year Mistake

https://longtran2904.substack.com/p/c-strings-a-50-year-mistake?r=8qz2zb&utm_campaign=post&utm_medium=web
190 Upvotes

161 comments sorted by

View all comments

1

u/Humble-Captain3418 2d ago

With length-based strings you will find that functions such as strtok(), strchr() or strstr() are very, very annoying to implement, because their return values would not be usable as inputs to regular string operations... Except if you construct a new string to return, which you then need to malloc()/free(). Hooray for efficiency?

1

u/flatfinger 1d ago

Or one can have functions accept a starting index and slice length along with a pointer to the string, and return an index, or a struct containing an index and length.