Share via


_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 
);

Parámetros

  • fd
    Descriptor de archivo que hace referencia a un archivo abierto.

  • size
    Nueva longitud en bytes de un archivo.

Valor devuelto

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

Comentarios

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.

Requisitos

rutina

Encabezado necesario

encabezado opcional

_chsize

<io.h>

<errno.h>

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

Ejemplo

// 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 );
   }
}
  

Equivalente en .NET Framework

Vea también

Referencia

El control de archivo

_close

_sopen, _wsopen

_open, _wopen