Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

как победить sprintf ?

08.06.17 18:05
Re: как победить sprintf ?
 
anly коренной житель
anly
в ответ Murr_0002 08.06.17 11:12, Последний раз изменено 08.06.17 18:08 (anly)
Разумеется - именно то, что, по факту, прописано в параметрах. Ожидаемое, однако, есть указатель на начало нуль-терминальной строки в сегменте данных.
ожидаемо, но проверить что лежащее в стеке является именно указателем - невозможно.
там лежат "числа", которые ты можешь интерпретировать как тебе нужно.
мне допустим нужен указательна стринг. Естественно я буду его так и интерпретировать (что делает sprintf и без меня). Но там лежит какой-то INT напр, который при касте к указателю даже указывает на сегмент данных, но естественно либо в мусор, либо в середину какой-нибудь посторонней строки, либо туда где находится 0. Во втором и третьем случаях вообще понять что ошибка - невозможно. И шо теперь делать?
интерпретировать как void* и кастить к нужному типу.
к какому именно типу скастить? Ведь нету никакой информации об этом.
Тебе сложно скастить к ссылке на объект с инициированием адресом в стеке?
да скастить то не сложно. Сложно понять к чему кастить (а точнее невозможно понять, о чем уже говорилось)
Проклят нарушающий межи ближнего своего (Втор.27:17)
 

Перейти на