std::strncat
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Text processing library
Regular expressions library (C++11)
Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Defined in header
<cstring>
char* strncat( char* dest, const char* src, std::size_t count );
Appends a byte string pointed to by src to a byte string pointed to by dest. At most count characters are copied. The resulting byte string is null-terminated.
The destination byte string must have enough space for the contents of both dest and src plus the terminating null character, except that the size of src is limited to count.
The behavior is undefined if the strings overlap.
Contents
[edit] Parameters
dest
-
pointer to the null-terminated byte string to append to
src
-
pointer to the null-terminated byte string to copy from
count
-
maximum number of characters to copy
[edit] Return value
dest
[edit] Notes
Because std::strncat
needs to seek to the end of dest on each call, it is inefficient to concatenate many strings into one using std::strncat
.
[edit] Example
Run this code
#include <cstdio> #include <cstring> int main() { char str[50] = "Hello "; const char str2[50] = "World!"; std::strcat (str, str2); std::strncat(str, " Goodbye World!", 3); // may issue "truncated output" warning std::puts (str); }
Output:
Hello World! Go
[edit] See also
C documentation for strncat