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/cpp/string/byte/strncat

Spec-Zone.ru

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