_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 completo

  • drive
    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.

Consulte também

Referência

Manipulação de arquivos

_fullpath, _wfullpath

_getmbcp

_makepath, _wmakepath

_setmbcp