程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 用C說話獲得文件的年夜小示例分享

用C說話獲得文件的年夜小示例分享

編輯:關於C++

用C說話獲得文件的年夜小示例分享。本站提示廣大學習愛好者:(用C說話獲得文件的年夜小示例分享)文章只能為提供參考,不一定能成為您想要的結果。以下是用C說話獲得文件的年夜小示例分享正文


查了一下發明同C說話的文件操作函數即可以很輕易的完成如許的功效。在本身完成的函數中應用到的函數就只要fseek和ftell。它們的解釋以下:

fseek

語法:

#include <stdio.h> int fseek( FILE *stream, long offset, int origin );

函數fseek()為給出的流設置地位數據. origin的值應當是以下值個中之一(在stdio.h中界說):

稱號 解釋
SEEK_SET 從文件的開端處開端搜刮
SEEK_CUR 從以後地位開端搜刮
SEEK_END 從文件的停止處開端搜刮
fseek()勝利時前往0,掉敗時前往非零. 你可使用fseek()挪動跨越一個文件,然則不克不及在開端處之前. 應用fseek()消除聯系關系到流的EOF標志.

ftell

語法:

#include <stdio.h> long ftell( FILE *stream );

代碼以下:ftell()函數前往stream(流)以後的文件地位,假如產生毛病前往-1.

#include <sys/stat.h>  
#include <unistd.h>  
#include <stdio.h>  
/* 
  函數名:getFileSize(char * strFileName) 
  功效:獲得指定文件的年夜小 
  參數: 
    strFileName (char *):文件名 
  前往值: 
    size (int):文件年夜小 
 */
int getFileSize(char * strFileName)
{
  FILE * fp = fopen(strFileName, "r");
  fseek(fp, 0L, SEEK_END);
  int size = ftell(fp);
  fclose(fp);
  return size;
}
/* 
  函數名:getFileSizeSystemCall(char * strFileName)  
  功效:獲得指定文件的年夜小 
  參數: 
    strFileName (char *):文件名 
  前往值: 
    size (int):文件年夜小 
 */
int getFileSizeSystemCall(char * strFileName)
{
  struct stat temp;
  stat(strFileName, &temp);
  return temp.st_size;
}
int main()
{
  printf("size = %d/n", getFileSize("getFileSize.cpp"));
  printf("size = %d/n", getFileSizeSystemCall("getFileSize.cpp"));
  return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved