用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; }