chsize

handle表示檔案句柄,size表示要設定的大小,返回值為執行該函式後檔案的大小,正常情況應該等於size。

基本介紹

  • 外文名:chsize
  • 功  能:改變檔案大小、為檔案預分配空間
  • 頭檔案:io.h
  • 系  統:Win95, WinNT
函式概述,函式原型,功能,參數值,返回值,描述,程式例,

函式概述

函式原型

int chsize(int handle, long size);

功能

改變檔案大小,為檔案預分配空間等。

參數值

handle
已打開的檔案句柄。
size
新的檔案長度,用位元組表示。

返回值

chsize 當檔案大小被成功改變時返回 0 值,當發生錯誤時返回 -1。

描述

chsize 函式延展或截短 handle 所關聯的檔案,將其大小重新改變為 size 的值(以位元組)。檔案必須以具有寫許可權的模式打開。當檔案被延展時,會以 NULL 字元('\0')在檔案尾追加。如果檔案被截短,則截短後的檔案,其新大小長度之後的原檔案的內容將會丟失。

程式例

/* CHSIZE.C: 這個程式使用 _filelength 在改變檔案大小之前和之後來獲取檔案大小。 */#include <io.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>void main( void ){   int fh, result;   unsigned int nbytes = BUFSIZ;   /* Open a file */   if( (fh = open( "data", _O_RDWR | _O_CREAT, _S_IREAD                   | _S_IWRITE ))  != -1 )   {      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 );   }}
上面的代碼輸出結果應該為:
File length before: 0
Size successfully changed
File length after: 329678

相關詞條

熱門詞條

聯絡我們