Exportar (0) Imprimir
Expandir todo
div
EOF
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

_chsize

Cambia el tamaño de un archivo. Una versión más segura está disponible; vea _chsize_s.

int _chsize( 
   int fd,
   long size 
);

fd

Descriptor de archivo que hace referencia a un archivo abierto.

size

Nueva longitud en bytes de un archivo.

_chsize devuelve el valor 0 si el tamaño de archivo cambia correctamente. un valor devuelto de – 1 indica un error: errno se establece en EACCES si el archivo especificado está bloqueado y el acceso, a EBADF si el archivo especificado es de solo lectura o descriptor es no válido, a ENOSPC si no se permite ningún espacio en el dispositivo, o a EINVAL si es size menor que cero.

Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de retorno.

La función de _chsize extiende o trunca el archivo asociado a fd con la longitud especificada por size. El archivo debe estar abierto en un modo que permite escribir. Se agregan caracteres null (“\ 0 ") si se mejora el archivo. Si se trunca el archivo, todos los datos del final del archivo abreviado a la longitud original del archivo se pierde.

esta función valida sus parámetros. Si size es menor que cero o fd es un archivo dañado descriptor de archivo, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.

rutina

Encabezado necesario

encabezado opcional

_chsize

<io.h>

<errno.h>

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

// crt_chsize.c
// This program uses _filelength to report the size
// of a file before and after modifying it with _chsize.

#include <io.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <share.h>

int main( void )
{
   int fh, result;
   unsigned int nbytes = BUFSIZ;

   // Open a file 
   if( _sopen_s( &fh, "data", _O_RDWR | _O_CREAT, _SH_DENYNO,
                 _S_IREAD | _S_IWRITE ) == 0 )
   {
      printf( "File length before: %ld\n", _filelength( fh ) );
      if( ( result = _chsize( fh, 329678 ) ) == 0 )
         printf( "Size successfully changed\n" );
      else
         printf( "Problem in changing the size\n" );
      printf( "File length after:  %ld\n", _filelength( fh ) );
      _close( fh );
   }
}
Longitud del archivo antes: 0
Tamaño cambiado correctamente
Longitud del archivo a continuación:  329678

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft