= {'a','\0'};
char* name = c;
strncpy(name, "hellofff", 5);
std::cout << name;
}
Как программа может понять, что в name содержится всего 5 символов?
Не должен работать
Никак, тебе просто повезло, что программа не упала.\
Хотя есть ещё один шанс, что STRNCPY, которой ты указываешь размер буфера в 5 символов, НЕ копирует последний символ и добавляет NULL-терминатор.
нет, так делает strlcpy (не стандарт)
Обсуждают сегодня