Когда я использую memcpy_s()
для копирования данных, я получаю возвращаемое значение 404. Что это значит? Я проверил, что размер буфера назначения больше, чем количество копируемых байтов.Что memcpy_s возвращает ошибку 404 означает
ответ
memcpy_s()
формально определяется в стандарте C11 (ISO/IEC 9899:2011), раздел K.3.7.1.1, который просто заявляет:
Функция memcpy_s возвращает ноль, если не было никаких нарушений во время выполнения-ограничение. В противном случае возвращается ненулевое значение.
Не упоминается о конкретных значениях, которые memcpy_s()
возвращаются к ошибке, поэтому они определены реализацией.
Вы не сказали, какой компилятор вы используете.
Например, Microsoft, memcpy_s()
documentation для MSVC утверждает, что memcpy_s()
может только возвращать либо EINVAL
или ERANGE
при возникновении ошибки, и что поведение не определено, если источник и место назначения перекрытия.
MinGW-w64 exhibits this same behavior.
Однако такое поведение формально запрещено memcpy_s()
определением, содержащимся в ISO/IEC 9899: 2011:
Копирование не должно иметь место между объектами, которые перекрывают друг друга.
В некоторых реализациях среды исполнения, есть другой код ошибки, который может быть возвращен:
#define ESOVRLP (404) /* overlap undefined */
Эта ошибка означает, что источник и место назначения накладываются друг на друга.
Поскольку вы получаете возвращаемое значение, которое нелегальную по Microsoft за поведение, которое в MSVC (и MinGW) неопределенной, само собой разумеется, что вы, вероятно, с помощью какого-либо другого компилятора/выполнения, который имеет более C11-совместимая реализация, которая возвращает ESOVRLP
, если обнаружено перекрытие (например, safeclib does).
- 1. Что означает HTTP 404?
- 2. trace.axd возвращает ошибку 404
- 3. NuGet.Server возвращает ошибку 404
- 4. Jsoup возвращает ошибку 404
- 5. UrlFetchApp возвращает ошибку 404
- 6. Что вызовет ошибку 404?
- 7. Facebook sdk.js возвращает ошибку 404
- 8. Highrise API возвращает ошибку 404
- 9. angular2 http.get возвращает ошибку 404?
- 10. Неопределенная ссылка на memcpy_s
- 11. Рельс конвейера только возвращает ошибку 404
- 12. Google Drive CSS/JS возвращает ошибку 404
- 13. AngularJs: $ http.post всегда возвращает ошибку 404
- 14. точка в url возвращает ошибку 404 (.htaccess)
- 15. openshift application url возвращает ошибку 404
- 16. Symfony возвращает ошибку 404, когда .getJSON называется
- 17. js/vendor/jquery.js возвращает ошибку 404
- 18. Сайт возвращает ошибку 404 с контентом
- 19. Facebook возвращает ошибку 404 на сайте
- 20. QuickBooks Web Connector всегда возвращает ошибку 404
- 21. HttpWebResponse Возвращает ошибку 404, когда существует страница
- 22. IIS Url Rewrite возвращает ошибку 404
- 23. страница входа в WordPress возвращает ошибку 404
- 24. HTTPWebREquest - возвращает ошибку WebException- (404) не найден
- 25. Django всегда возвращает ошибку 404 с nginx
- 26. C# HttpClient возвращает ошибку 404 Не найдено
- 27. Со статическим содержимым: страница 404 Apache, которая возвращает ошибку 404
- 28. Что такое «Индексы каталогов здесь не разрешены». означает ошибку Django?
- 29. Что означает: означает?
- 30. Что означает эта ошибка, не загружающая ошибку?
Просьба указать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve), который показывает проблему, и откуда вы получаете свое «возвращаемое значение». –
Ошибка 404? Всем известно, что это означает «нет такого файла или каталога» ':-)' –
И: 404 обычно является [HTTP Error] (https://en.wikipedia.org/wiki/HTTP_404) и не имеет ничего общего с C/C++. –