Нет необходимости делать что-либо «до» strcpy()
. Вызов strcpy()
в буфере d
перезапишет все, что находится в буфере, и оставит буфер, содержащий строку, на которую указывает ptr
во время вызова. Нет необходимости присваивать последний символ '\ 0'.
Конечно, если вы делаете явное завершение, потому что вы не уверены, что strcpy()
будет перезаписывать d
, тогда у вас есть проблема. Вы должны использовать strlen()
на ptr
перед копией, чтобы убедиться, что она подходит, или используйте snprintf()
, если она у вас есть.