std::strncat
Определено в заголовке <cstring> | ||
|---|---|---|
char* strncat( char* dest, const char* src, std::size_t count ); |
Добавляет строку байтов, на которую указывает src, к строке байтов, на которую указывает dest. При этом копируется не более count символов. Результирующая строка байтов завершается нулём.
Строка назначения должна иметь достаточно места для содержимого как dest, так и src, плюс завершающий нулевой символ, за исключением того, что размер src ограничен count.
Поведение не определено, если строки перекрываются.
Параметры
| dest | - | указатель на завершаемую нулём строку байтов, к которой добавляется строка |
| src | - | указатель на завершаемую нулём строку байтов, из которой копируется строка |
| count | - | максимальное количество символов для копирования |
Возвращаемое значение
dest
Примечания
Поскольку std::strncat необходимо каждый раз искать конец dest, для конкатенации нескольких строк в одну с использованием std::strncat это неэффективно.
Пример
#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);
}Вывод:
Hello World! Go
См. также
| конкатенирует две строки (функция) |
|
| копирует одну строку в другую (функция) |
|
C документация для strncat |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strncat