Spec-Zone.ru › C++

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

См. также

strcat
конкатенирует две строки
(функция)
strcpy
копирует одну строку в другую
(функция)
C документация для strncat

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strncat

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API