/*
FileName: getFileName.cpp
*/
#include
#include
/*
函数名:getFileSize(char * strFileName)
功能:获取指定文件的大小
参数:
strFileName (char *):文件名
返回值:
size (int):文件大小
*/
int getFileSize(char * strFileName)
{
int size;
FILE * fp = fopen(strFileName, "r");
if (fp == NULL)
{
printf("%s is open failed, please check!\n", strFileName);
//fclose(fp);
return 0;
}
fseek(fp, 0L, SEEK_END);
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;
}
/*
函数名:delFile(char* strFileName, int Msize)
功能:文件超过某个大小就删除
参数:
strFileName (char *):文件名
Msize:文件大小(M)
返回值:
void
*/
void delFile(char* strFileName, int Msize)
{
int size = Msize * 1024 * 1024;
if (getFileSize(strFileName) > size)
{
if (remove(strFileName))
{
printf("%s can not delete!\n", strFileName);
}
else
{
printf("%s has deleted!\n", strFileName);
}
}
}
int main()
{
//printf("size = %d/n", getFileSize("getFileSize.cpp"));
//printf("size = %d/n", getFileSizeSystemCall("getFileSize.cpp"));
delFile("file1.txt", 1);
return 0;
}