The initial call with size 0 tells you the necessary length of the buffer for the string you want, but does not include the null byte.
The initial call with size 0 tells you the necessary length of the buffer for the string you want, but does not include the null byte.
Way to easy to use the returned value as the “actual length” of the written string. Sure, that was never the intent, but still…
The standard library also makes appending a formatted string to an existing one surprisingly nontrivial…
What should be a 1-liner is about 5-10 lines of code (to include error handling) and is somewhat hard to read. The “cognitive load” for basic operations shouldn’t be high…
The number can be determined at comp-time.
Buffer sizes should be computing manually.
I think this was it: https://queue.acm.org/detail.cfm?id=2010365