Aracılığıyla paylaş


_chsize

Dosya boyutunu değiştirir. Daha güvenli bir sürümünü kullanılabilir; see _chsize_s.

int _chsize( 
   int fd,
   long size 
);

Parametreler

  • fd
    Açık olan bir dosyaya başvuran dosya tanımlayıcısı.

  • size
    Yeni dosyanın bayt cinsinden uzunluğu.

Dönüş Değeri

_chsizeDosya boyutu başarıyla değiştirilirse 0 değerini döndürür. –1 Dönüş değeri hata gösterir: errno ayarlamak EACCES belirtilen dosya erişim karşı çok kilitliyse, EBADF belirtilen dosya salt okunur veya tanımlayıcısı geçersiz ENOSPC aygıtta boşluk bıraktıysanız veya EINVAL , size sıfırdan küçük.

Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer ilgili daha fazla bilgi için kodları dönün.

Notlar

_chsize İşlevini genişletir veya ilişkili dosya keser fd tarafından belirtilen uzunluğa size. Dosya yazma izin veren bir modda açık olması gerekir. Dosya genişletilir, boş karakterler ('\0') eklenir. Dosya kesilirse, dosyanın özgün uzunluğunun kısaltılmış dosya sonundan tüm veriler kaybolur.

Bu işlev parametreleri doğrular. size Sıfırdan küçük veya fd bir hatalı dosya tanımlayıcısı geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı bir üstbilgi

_chsize

<io.h>

<errno.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

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

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Dosya işleme

_close

_sopen, _wsopen

_open, _wopen