_splitpath, _wsplitpath
Divida um nome de caminho em componentes.Versões mais seguras dessas funções estão disponível, consulte _splitpath_s, _wsplitpath_s.
void _splitpath(
const char *path,
char *drive,
char *dir,
char *fname,
char *ext
);
void _wsplitpath(
const wchar_t *path,
wchar_t *drive,
wchar_t *dir,
wchar_t *fname,
wchar_t *ext
);
Parâmetros
path
Caminho completodrive
Letra da unidade opcional, seguida por dois-pontos (:)dir
Caminho de diretório opcional, incluindo barra / à direita.Barras (/), barras invertidas () \ ), ou ambos podem ser usados.fname
Nome do arquivo base (sem extensão)ext
Extensão de nome de arquivo opcionais, incluindo entrelinhamento período (.)
Comentários
The _splitpathfunção divide um caminho em seus quatro componentes. _splitpathtrata automaticamente sistema autônomo argumentos de seqüência de caractere multibyte conforme apropriado, reconhecendo seqüências de caractere de multibyte de acordo com para a página de código multibyte atualmente em uso. _wsplitpathé uma versão de caractere largo da _splitpath; os argumentos para _wsplitpathsão seqüências de caracteres largos. Essas funções se comportam exatamente caso contrário
Observação de segurança Essas funções incorrer em uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer.Versões mais seguras dessas funções são availalble; consulte _splitpath_s, _wsplitpath_s.
Mapeamentos de rotina de texto genérica
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tsplitpath |
_splitpath |
_splitpath |
_wsplitpath |
Cada argumento é armazenado em um buffer; o manifesto constantes _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, e _MAX_EXT(definido em STDLIB.H) Especifica o dimensionar máximo necessário para cada buffer. Os outros argumentos apontam para buffers usados para armazenar os elementos de caminho.Após uma telefonar para _splitpathé executado, esses argumentos conter seqüências vazias para componentes não encontrado no path. Você pode passar um NULLponteiro para _splitpathpara qualquer componente que você não precisa.
If path é NULL, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é definido como EINVAL e a função retorna EINVAL.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_splitpath |
<stdlib.h> |
_wsplitpath |
<stdlib.h> ou <wchar.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Consulte o exemplo para _makepath.
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.