Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_makepath, _wmakepath

Cree un nombre de ruta de componentes. Hay disponibles versiones más seguras de estas funciones; vea _makepath_s, _wmakepath_s.

void _makepath(
   char *path,
   const char *drive,
   const char *dir,
   const char *fname,
   const char *ext 
);
void _wmakepath(
   wchar_t *path,
   const wchar_t *drive,
   const wchar_t *dir,
   const wchar_t *fname,
   const wchar_t *ext 
);

path

Búfer de la ruta de acceso completa.

drive

Contiene una letra (A, b, etc.) correspondiente a la unidad deseada y un signo de dos puntos final opcional. _makepath inserta el dos puntos automáticamente en la ruta compuesta si falta. Si drive es NULL o puntos en una cadena vacía, ninguna letra de unidad aparece en la cadena compuesta de path .

dir

Contiene la ruta de acceso de los directorios, sin incluir el designador de unidad o el nombre del archivo. La barra diagonal final es opcional, y una barra diagonal (/) o una barra diagonal inversa (\) o ambas podrían usar en un solo argumento de dir . Si no se especifica ninguna barra diagonal final (/o \), se inserta automáticamente. Si dir es NULL o puntos en una cadena vacía, no se inserta ninguna ruta de directorio en la cadena compuesta de path .

fname

Contiene el nombre de archivo base sin ninguna extensiones. Si fname es NULL o puntos en una cadena vacía, no se insertará ningún nombre de archivo en la cadena compuesta de path .

ext

Contiene la extensión de nombre de archivo real, con o sin un punto principal (.). _makepath inserta el período automáticamente si no aparece en ext. Si ext es NULL o puntos en una cadena vacía, no se inserta extensiones en la cadena compuesta de path .

La función de _makepath crea una cadena compuesta de la ruta de acceso de los componentes individuales, almacenar el resultado en path. path podría incluir una letra de unidad, una ruta de acceso del directorio, un nombre de archivo, y una extensión de nombre de archivo. _wmakepath es una versión con caracteres anchos de _makepath; los argumentos a _wmakepath son cadenas de caracteres anchos. Por lo demás, _wmakepath y _makepath se comportan de forma idéntica.

Nota de seguridad   Utilice una cadena terminada en null. Para evitar la saturación del búfer, la cadena terminada en null no debe superar el tamaño del búfer de path . _makepath no garantiza que la longitud de la cadena compuesta de la ruta no supere _MAX_PATH. Para obtener más información, vea Evitar saturaciones del búfer.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tmakepath

_makepath

_makepath

_wmakepath

El argumento de path debe señalar a un búfer vacío suficientemente grande para contener la ruta completa. path compuesto debe ser menor que la constante de _MAX_PATH , definida en Stdlib.h.

Si la ruta de acceso es NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Además, errno se establece en EINVAL. los valores deNULL se permiten todos los demás parámetros.

Rutina

Encabezado necesario

_makepath

<stdlib.h>

_wmakepath

<stdlib.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

// crt_makepath.c
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   char path_buffer[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];

   _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" ); // C4996
   // Note: _makepath is deprecated; consider using _makepath_s instead
   printf( "Path created with _makepath: %s\n\n", path_buffer );
   _splitpath( path_buffer, drive, dir, fname, ext ); // C4996
   // Note: _splitpath is deprecated; consider using _splitpath_s instead
   printf( "Path extracted with _splitpath:\n" );
   printf( "  Drive: %s\n", drive );
   printf( "  Dir: %s\n", dir );
   printf( "  Filename: %s\n", fname );
   printf( "  Ext: %s\n", ext );
}
Trazado creado con el _makepath: c:\sample\crt\makepath.c

Ruta extraída con el _splitpath:
  Unidad: c:
  Dir: \sample\crt\
  Nombre de archivo: makepath
  Ext: .c

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft