您的位置:首页 > 其它

断文件是二进制文件还是文本文件的函数

2011-03-25 18:26 204 查看
#include "sys/stat.h"

bool IsTextFile(const char * strFileName)
{
if(strFileName==NULL) return false;
struct stat f_stat;
if(stat(strFileName,&f_stat)==-1)
{
return false;
}
long lngFilesize=0;
lngFilesize=(long)f_stat.st_size;
if(lngFilesize<=0) return false;
FILE *ft=fopen(strFileName, "rb");
if(ft==NULL)
{
return false;
}
char btData[1];
long lngReadPos;
long lngMaxRead=40960;
if(lngMaxRead>lngFilesize) lngMaxRead=lngFilesize;
for(lngReadPos=1;lngReadPos<=lngMaxRead;lngReadPos++)
{
fread(&btData,1,1,ft);
if(btData[0]=='/0')
{
fclose(ft);
return false;
}
}
fclose(ft);
return true;
}

//调用:
void CIsTextFileProjectDlg::OnClick()
{
if(IsTextFile("c://新建.txt")==false)
{
AfxMessageBox("新建.txt 二进制文件");
}
else
{
AfxMessageBox("新建.txt 文本文件");
}
}



转载自:http://blog.csdn.net/tanaya/archive/2009/04/12/4067028.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: