断文件是二进制文件还是文本文件的函数
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
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
相关文章推荐
- 判断文件是二进制文件还是文本文件的函数(VC,Delphi)
- 判断文件是二进制文件还是文本文件的函数(VC,Delphi)
- 判断文件是二进制文件还是文本文件的函数(VC,Delphi)
- 判断文件是否文本文件还是二进制文件的两个有效方法
- Delphi中判断文件是否为文本文件的函数
- Delphi中判断文件是否为文本文件的函数
- 检测一个文件是否为文本文件/二进制文件的方法
- 读写文件(二进制文件、文本文件、ini文件)
- 为什么二进制文件与文本文件存入同样的数据,文件大小差异会这么大?(from <<Thinking in C++>>'s execise)
- delphi 文件的读取(二进制文件和文本文件)
- C primer plus第13章(文件输入/输出)对文本文件及二进制文件的处理
- 读写文件(二进制文件、文本文件、ini文件)
- 用于拷贝文件(文本文件或其他类型的大型文件)的函数
- 文件磁盘相关函数[18]-文本文件读写-追加写入文件 Append
- [C语言] 文件操作,对二进制文件追加二进制数据与补零的两个函数;
- 文件磁盘相关函数[19]-文本文件读写-读取全部的实现
- 文件磁盘相关函数[20]-文本文件读写-分列写入
- Delphi中判断文件是否为文本文件的函数
- C# 常用文件操作 文本文件 二进制文件 读写操作
- 文件磁盘相关函数[21]-文本文件读写-分列读入