Показать сообщение отдельно

  #2  
Старый 15.12.2009, 11:45
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

так как переменная локальная, лишние символы хранятся на стеке. т.е. ты получаешь переполнение буфера, и при умелом использовании можешь засплоитить свою программу, заставив ее показать месаджбокс например. Суть C++ что контроль длины буфера в чистых массивах лежит на тебе. Поэтому и используют функции вида strncpy вместо strcpy.

ps: для лучшего понимания запусти свою программу под отладкой в ollydbg и посмотри, что произойдет со стеком.
 
Ответить с цитированием