Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_chsize

Changes the size of a file. Un version plus sûr de _chsize_s est disponible ; consultez .

int _chsize( 
   int fd,
   long size 
);

fd

Descripteurs de fichier faisant référence au fichier ouvert.

size

Longueur du fichier en octets.

_chsize retourne la valeur 0 si la taille du fichier a été modifiée. Une valeur de retour de – 1 indique une erreur : errno a la valeur EACCES si le fichier spécifié est verrouillé contre tout accès, à EBADF si le fichier spécifié est en lecture seule ou si l'un descripteur est invalide, à ENOSPC si aucun espace ne reste sur le périphérique, ou à EINVAL si size est inférieure à zéro.

Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes de retour.

La fonction _chsize étend ou tronque le fichier associé à fd à la longueur spécifiée par size. Le fichier doit être ouvert dans un mode qui permet d'écrire. Les caractères Null ("\0 ") sont ajoutés si le fichier est étendu. Si le fichier est tronqué, toutes les données de la fin du fichier original raccourci sont perdues.

Cette fonction valide ses paramètres. Si size est inférieure à zéro ou quefd est un mauvais descripteur de fichier, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre.

Routine

En-tête requis

En-tête facultatif

_chsize

<io.h,>

<errno.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

// 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 );
   }
}
Longueur de fichier jusque là : 0
Taille correctement modifiée
Longueur de fichier après :  329678

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft