Condividi tramite


_chsize

La modifica della dimensione di un file.Una versione più sicura è disponibile; vedere _chsize_s.

int _chsize( 
   int fd,
   long size 
);

Parametri

  • fd
    Descrittore del file che fa riferimento a un file aperto.

  • size
    Nuova lunghezza in byte del file.

Valore restituito

_chsize restituisce il valore 0 se le dimensioni del file correttamente vengono modificate.Restituito un valore pari a 1 indica un errore: errno è impostato su EACCES se il file specificato non può essere accesso, a EBADF se il file specificato è di sola lettura o il descrittore non è valido, ENOSPC se nessuno spazio viene lasciato nel dispositivo, o EINVAL se size è minore di zero.

vedere _doserrno, errno, _sys_errlist e _sys_nerr per ulteriori informazioni su questi e su altri, codici restituiti.

Note

_chsize la funzione estende o tronca il file associato fd alla lunghezza specificata da size.Il file deve essere aperto in una modalità che consente di scrivere.I caratteri null (" \ 0 ") vengono aggiunti se il file viene distribuito.Se il file viene troncato, tutti i dati dalla fine del file abbreviato alla lunghezza originale del file verranno persi.

Questa funzione convalida dei parametri.se size è minore di zero o fd è un errato descrittore di file, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.

Requisiti

routine

Intestazione di associazione

intestazione facoltativa

_chsize

<io.h>

<errno.h>

Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.

Esempio

// 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 .NET Framework

Vedere anche

Riferimenti

Gestione dei file

_close

_sopen, _wsopen

_open, _wopen