Как strcat () работает внутри C? - PullRequest
0 голосов
/ 08 апреля 2019

Допустим, я хочу объединить "A" и "B" в C, оба массива char *, я назову их a и b соответственно. Мы знаем, что в конце a, b есть '\ 0', чтобы отметить конец слова. Когда я использую strcat (a, b), сколько места мне нужно в a для работы функции? 3 символа? 2 символа? Strcat () добавляет '\ 0' или это моя работа?

1 Ответ

0 голосов
/ 08 апреля 2019

strcat(a, b) перезапишет \0 из a и добавит b, включая \0, поэтому результат будет корректно завершен. Совершенно очевидно, что требуемый размер буфера составляет strlen(a) + strlen(b) + 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...