В чем разница между: _fullpath и GetFullPathName
Конечно, я имею в виду отдельно сравнивать их варианты ANSI / Unicode.
- Ответ:
_fullpath
противGetFullPathNameA
- Uni:
_wfullpath
vsGetFullPathNameW
Кажется, что _fullpath имеет гораздо более приятный и простой API, поскольку он позволяет чтобы выделить буфер для вас, но я просто думаю, что если я заменю GetFullPathNameW
на _wfullpath
, что я пропущу?
2 ответа
Вам не нужно ничего пропускать. Фактически, вполне возможно, что _fullpath()
вызывает GetFullPathName()
. В этом случае _fullpath()
работает как своего рода оболочка для GetFullPathName()
, которая объясняет, почему интерфейс кажется немного проще и проще в использовании.
У вас просто есть несколько способов выполнить одну и ту же задачу. И, если любой из методов не устарел и выполняет необходимую задачу, выбор полностью за вами.
_fullpath
является частью библиотеки C. GetFullPathName
- это Win32 API.
Таким образом, _fullpath
кроссплатформенный, а GetFullPathName
- специфичный для Windows.
В таких случаях функция C обычно зависит от базовой ОС. Итак, в программе Windows _fullpath
, скорее всего, сводится к GetFullPathName()
. Но на самом деле тебе не о чем беспокоиться.
Похожие вопросы
Новые вопросы
c
C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.