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

_find, _wfind (Funciones)

La búsqueda de estas funciones para y cierre busca los nombres de archivo especificado:

La función de _findfirst proporciona información sobre la primera instancia de un nombre de archivo que coincida con el archivo especificado en el argumento de filespec . Puede utilizar en filespec a cualquier combinación de caracteres comodín admitida por el sistema operativo host.

Las funciones devuelven información de archivo en una estructura definddata_t de _, que se define en IO.h. Las diversas funciones en la familia utilizan muchas variaciones en la estructura de _finddata_t . La estructura básica de _finddata_t incluye los siguientes elementos:

unsigned attrib

Atributo de archivo.

time_t time_create

Hora de creación de archivos (– 1L para los sistemas de archivos FAT). Esta vez se almacena en formato UTC. Para convertir la hora local, utilice localtime_s.

time_t time_access

Hora de acceso a archivos último (– 1L para los sistemas de archivos FAT). Esta vez se almacena en formato UTC. Para convertir la hora local, utilice localtime_s.

time_t time_write

Hora de la última escritura al archivo. Esta vez se almacena en formato UTC. Para convertir la hora local, utilice localtime_s.

_fsize_t size

Longitud en bytes de un archivo.

char name [ _MAX_PATH]

Nombre terminado en null del archivo o directorio con, sin la ruta.

En los sistemas de archivos que no admiten la creación y los tiempos de acceso pasan de un archivo, como el sistema GORDO, time_create y los campos de time_access siempre están – 1L.

_MAX_PATH se define en Stdlib.h en 260 bytes.

No puede especificar atributos de destino (como _A_RDONLY) para limitar la operación de búsqueda. Estos atributos se devuelven en el campo de attrib de la estructura de _finddata_t y pueden tener los valores siguientes (definidos en IO.h). Los usuarios no deben basarse en estos que son los únicos valores posibles para el campo de attrib .

_A_ARCH

Archivo. Conjunto siempre que el archivo se modifique y borrado por el comando de BACKUP . Value: 0x20.

_A_HIDDEN

Archivo oculto. Visto no normalmente con el comando de DIR, a menos que utilice la opción de /AH . Devuelve información sobre los archivos normales y los archivos que tienen este atributo. Value: 0x02.

_A_NORMAL

Normal. El archivo no establecido ningún otro atributo y se puede leer o escribir sin en la restricción. Value: 0x00.

_A_RDONLY

Sólo lectura. El archivo no se puede abrir para escribir y un archivo que tiene el mismo nombre no se puede crear. Value: 0x01.

_A_SUBDIR

Subdirectorio. Value: 0x10.

_A_SYSTEM

Archivo de sistema. Visto no normalmente al comando de DIR , a menos que se utilice la opción de /A o de /A:S . Value: 0x04.

_findnext encuentra el siguiente nombre, si existe, que coincide con el argumento de filespec especificado en una llamada anterior a _findfirst. El argumento de fileinfo debe señalar a una estructura inicializado por la llamada anterior a _findfirst. Si se encuentra una coincidencia, el contenido de la estructura de fileinfo cambian tal como se describió anteriormente. De lo contrario, queda sin modificar. _findclose cierra el identificador de búsqueda y libera especificados todos los recursos asociados para _findfirst y _findnext. El identificador devuelto por _findfirst o _findnext se debe pasar a _findclose, antes de que las operaciones de modificación, como eliminar, se pueden realizar en los directorios que forman las rutas pasadas a ellas.

Puede anidar las funciones de _find . Por ejemplo, si una llamada a _findfirst o a _findnext busca el archivo que es un subdirectorio, una nueva búsqueda se puede iniciar con otra llamada a _findfirst o a _findnext.

_wfindfirst y _wfindnext son versiones de caracteres anchos de _findfirst y de _findnext. El argumento de la estructura de las versiones de caracteres anchos tiene el tipo de datos de _wfinddata_t , que se define en IO.h y en Wchar.h. Los campos de este tipo de datos son los mismos que los del tipo de datos de _finddata_t , salvo que en _wfinddata_t el campo name es de wchar_t escrito en lugar de charescrito. Si no _wfindfirst y _wfindnext se comportan de forma idéntica a _findfirst y a _findnext.

_findfirst y _findnext utilizan el tipo de 64 bits del tiempo. Si debe utilizar el tipo antiguo de 32 bits del tiempo, puede definir _USE_32BIT_TIME_T. Las versiones de estas funciones que tienen el sufijo de 32 en sus nombres utilizan el tipo de 32 bits del tiempo, y a aquellos con el uso del sufijo de 64 el tipo de 64 bits del tiempo.

Funciona _findfirst32i64, _findnext32i64, _wfindfirst32i64, y _wfindnext32i64 también se comporta de forma idéntica a las versiones de 32 bits de tipo en tiempo de estas funciones a menos que utilizan y devuelven longitudes de 64 bits del archivo. Funciona _findfirst64i32, _findnext64i32, _wfindfirst64i32, y el usode _wfindnext64i32tiempo 64 bits tipo pero utiliza longitudes de 32 bits del archivo. Estas funciones utilizan las variaciones adecuadas de _finddata_t escrito que los campos tienen distintos tipos por tiempo y el tamaño del archivo.

_finddata_t es realmente una macro que se evalúa como _finddata64i32_t (o a _finddata32_t si se define _USE_32BIT_TIME_T ). La tabla siguiente se resumen las variaciones en _finddata_t:

Estructura

Tipo de tiempo

Tipo de tamaño de archivo

_finddata_t , _wfinddata_t

__time64_t

_fsize_t

_finddata32_t , _wfinddata32_t

__time32_t

_fsize_t

__finddata64_t , __wfinddata64_t

__time64_t

__int64

_finddata32i64_t , _wfinddata32i64_t

__time32_t

__int64

_finddata64i32_t , _wfinddata64i32_t

__time64_t

_fsize_t

_fsize_t es typedef para unsigned long (32 bits).

// crt_find.c
// This program uses the 32-bit _find functions to print
// a list of all files (and their attributes) with a .C extension
// in the current directory.

#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <time.h>

int main( void )
{
   struct _finddata_t c_file;
   intptr_t hFile;

   // Find first .c file in current directory 
   if( (hFile = _findfirst( "*.c", &c_file )) == -1L )
      printf( "No *.c files in current directory!\n" );
   else
   {
      printf( "Listing of .c files\n\n" );
      printf( "RDO HID SYS ARC  FILE         DATE %25c SIZE\n", ' ' );
      printf( "--- --- --- ---  ----         ---- %25c ----\n", ' ' );
      do {
         char buffer[30];
         printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
         ctime_s( buffer, _countof(buffer), &c_file.time_write );
         printf( " %-12s %.24s  %9ld\n",
            c_file.name, buffer, c_file.size );
      } while( _findnext( hFile, &c_file ) == 0 );
      _findclose( hFile );
   }
}
Lista de archivos .c

RDO OCULTÓ EL CALIBRE OF TABLE DATE DE FILE OF SYS ARC
--- --- --- ---  ----         ----                           ----
 N N N y blah.c miércoles 13 de febrero de 09: 21:42 2002 1715
 N N N y test.c miércoles 6 de febrero de 14: 30:44 2002 312

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft