Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Why is vsnprintf Not Writing the Same Number of Characters as strncpy Would?
#include <cstdarg> #include <cstdio> #include <iostream> #include <string> using namespace std; void bar(const char* format, va_list vlist) { const auto buf_size = vsnprintf(nullptr, 0U, format, vlist); string buffer(buf_size, '\0'); vsnprintf(&*begin(buffer), buf_size, format, vlist); cout << buffer.data() << endl; } void foo(const char* format, ...) { va_list vlist; va_start(vlist, format); bar(format, vlist); va_end(vlist); } int main() { foo("lorem ipsum %d", 13); }
run
|
edit
|
history
|
help
0
Policy class partial specialization inheritance
new
error_code example
UINT64 to UINT truncation
#7
no-thread
RTTI Test
hangman
"Mostly invalid states" and unordered_set
_countof constexpr