Если у вас есть Visual Studio, откройте DTD-файл, у вас должна быть кнопка «Создать схему». Я не проверял, был ли он доступен в Express Edition.
Является ли следующая функция более безопасной, чем использование memcpy?
blockquote>Нет. Это то же самое. В лучшем случае.
Во всяком случае, поскольку анализаторы кода и компиляторы знают, что делает
memcpy()
, этот код менее безопасен.Особенно с учетом того, как вы передаете
size_t
, а затем неправильно используете счетчик цикловint
:void myMemCpy(void *dest, void *src, size_t n) { // Typecast src and dest addresses to (char *) char *csrc = (char *)src; char *cdest = (char *)dest; // Copy contents of src[] to dest[] for (int i=0; i<n; i++) cdest[i] = csrc[i]; }
В 64-битной архитектуре с 32-битной
int
и 64-битной [ 115], это произойдет эффектно, еслиn
будет иметь значение более 2 гигов.