2008年12月5日 星期五

C/C++:計算檔案大小

/*
說明:
將檔案指標fp移動到檔案最尾巴
使用ftell回傳從檔案開頭到目前檔案指標所經過的byte數
*/

#include <stdio.h>

int main(int argc, char *argv[])
{
  FILE *fp;
  long size;

  if(argc!=2)
  {
    printf("直接把檔案拖曳到此程式。\n指令用法:此程式檔名稱 要複製的檔案名稱\n");
    system("pause");
  }
  else
  {
    fp = fopen(argc[argv-1],"rb"); /*使用二進位開檔才會正確*/
    fseek(fp, 0, SEEK_END); /*移到檔案最尾端 */
    size = ftell(fp); /*因為讀取指標已經移到最後面了,所以值就是檔案大小*/
    printf("File Size is %d bytes.",size);
    fclose(fp);
  }

  return 0;
}


輸出結果:
File Size is 9065 bytes.

沒有留言:

張貼留言