㈠ 如何用c語言獲取文件的大小
兩族尺悉種兆乎方困嫌法:
1、用stat()函數來獲取
int main(){ struct stat st ; stat( "file.txt", &st ); printf(" file size = %d\n", st.st_size); return 0;}2、用ftell()函數來獲取
int main(){ FILE *fp; fp=fopen( "file.txt", "r"); fseek(fp, 0L, SEEK_END ); printf(" file size = %d\n", ftell(fp) ); return 0;}
㈡ c語言如何獲得文件的創建時間以及文件的大小(頭文件及所用的函數,最好有用法舉例)
1.MFC中的方法:(C++)
CFileStatus status;
CFile::GetStatus("D:\\test.txt",status);
long lSizeOfFile;
lSizeOfFile = status.m_size;
lSizeOfFile的值就是D:\\test.txt文件的大小
2.標准C獲得文件大小的5種方法
(注意:"__FILE__"指的是當前文件,你可以改為有效路徑的目標文件,比如"D:\\test.txt")
#include "stdafx.h"
#include "stdio.h"
#include <sys/stat.h>
#include <io.h>
#include <FCNTL.H>
int getfilesize()
{
int iresult;
struct _stat buf;
iresult = _stat(__FILE__,&buf);
if(iresult == 0)
{
return buf.st_size;
}
return NULL;
}
int getfilesize01()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _filelength(fp);
//return NULL;
}
int getfilesize02()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize03()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize04()
{
FILE *fp;
if((fp=fopen(__FILE__,"r"))==NULL)
return 0;
fseek(fp,0,SEEK_END);
return ftell(fp); //return NULL;
}
int getfilesize05()
{
FILE *fp;
char str[1];
if((fp=fopen(__FILE__,"rb"))==NULL)
return 0;
for(int i = 0;!feof(fp);i++)
{
fread(&str,1,1,fp);
}
return i - 1; //return NULL;
}
int main(int argc, char* argv[])
{
printf("getfilesize()=%d\n",getfilesize());
printf("getfilesize01()=%d\n",getfilesize01());
printf("getfilesize02()=%d\n",getfilesize02());
printf("getfilesize03()=%d\n",getfilesize03());
printf("getfilesize04()=%d\n",getfilesize04());
printf("getfilesize05()=%d\n",getfilesize05());
return 0;
}
㈢ 如何用C語言獲取文件的大小
/*解題思路基衫:以只讀方式打開某一文件,然後將文件指針定位在文件結尾的位置,利用搏咐腔ftell函數返回指針的在文件中的相對位簡察置即可。
*/
#include"stdio.h"
main()
{FILE*fp;/*定義文件指針*/
longcnt;/*定義變數cnt用來存儲文件大小數據*/
fp=fopen("c:\1.txt","r");/*此處請填寫測試文件的地址,並以只讀("r")方式打開文件*/
if(fp==NULL)/*如果打開的文件不存在,則退出*/
{exit(0);
printf("文件打開失敗!");
}
fseek(fp,0L,SEEK_END);/*利用fseek函數將指針定位在文件結尾的位置*/
cnt=ftell(fp);/*利用ftell函數返回指針相對於文件開頭的位置,以位元組計算*/
printf("文件所佔的位元組數為%ld個 ",cnt);/*進行輸出*/
}
㈣ c語言如何通過文件屬性獲取文件大小
c語言可以通過stat()函數獲得文件畢前屬性,通吵數仔過返回的文件屬性,從中獲取文件大小。
#include
<sys/stat.h>
可見以下結構體和函數
struct
stat
{
_dev_t
st_dev;
_ino_t
st_ino;
unsigned
short
st_mode;
short
st_nlink;
short
st_uid;
short
st_gid;
_dev_t
st_rdev;
_off_t
st_size;
//文件大小
time_t
st_atime;
time_t
st_mtime;
time_t
st_ctime;
};
stat(const
char
*,
struct
_stat
*);
//根據文件名得到文件屬性
參考代碼:
#include <sys/升汪stat.h>
void main( )
{
struct stat buf ;
if ( stat( "test.txt", &buf ) < 0 )
{
perror( "stat" );
return ;
}
printf("file size:%d\n", buf.st_size );
}
㈤ 如何用C語言獲取文件的大小
intfile_size(char*filename)
{
FILE*fp=fopen(filename,"r");
if(!fp)return-1;
fseek(fp,0L,SEEK_END);
intsize=ftell(fp);
fclose(fp);
returnsize;
}
(5)c語言獲取文件夾大小擴展閱讀
C語言獲取文件長度及全部內容
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0L,SEEK_END);/*定位到文件末尾*/
flen=ftell(fp);/*得到文件大小*/
p=(char*)malloc(flen+1);/*根據文件大小動態分配內存空間*/
if(p==NULL)
{
fclose(fp);
return0;
}
fseek(fp,0L,SEEK_SET);/*定位到文件開頭*/
fread(p,flen,1,fp);/*一次性讀取全部文件內容*/
p[flen]=0;/*字元串結束標志*/
㈥ C語言獲取文件大小 int或long int都是32位,最大為40億 在ntfs下文件超過4GB怎
用庫函數fgetpos可以獲得64位長度的值,舉個例子:
FILE *fp;
fpos_t filelen; //fpos_t是個宏,就是long long ,64位整數
fp = fopen("xxxxx","r");
fseek(fp, 0, SEEK_END); //移動文件指針到末尾
fgetpos(fp, &filelen); //把偏移量寫入filelen
㈦ 如何用C語言獲取文件的大小
1.先用fseek將文件指針移到文件末尾,再用ftell獲取文件內指針當前的文件位置。這個位置就是文件大小。
2.#include<stdio.h>
intmain()
{
FILE*pf=fopen("F:/1.png","rb");
if(!pf)
return-1;
fseek(pf,0,SEEK_END);//移到文件末尾
printf("size=%d
",ftell(pf));
fclose(pf);
return0;
}
3.運行結果如下
㈧ c語言每次寫完判斷文件大小
在判橡文件屬性中查看文件大小讓擾。
根據查詢相關公開信息顯示,C語言庫函數中有stat函數,可以獲取文件的基本信息,其中就有文件大小。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發,C語言能以簡易的方式編掘滑旁譯、處理低級存儲器。