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