判断一个文件是不是文本文件

   什么是文本文件 ,,,大概就是使用编译器打开这个文件后  不会看到明显的乱码  基本上都是可打印字符 

自己处理编码很麻烦 其实有个windows api 可以使用

BOOL IsText(BYTE *buff,DWORD size)
{
	WCHAR *p = NULL;
	BOOL ret = FALSE;
	int i;
	//先扫一下看看有木有 ’\x00'
	for (i =0 ;i < size ;i++)
	{
		if(0 == buff[i])
		{
			return FALSE;
		}
	}
	if(MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, (char *)buff, -1, NULL, 0))  //只处理ANSII的编码了  
	{
		ret = TRUE;
	}
	return ret;
}
注意要使用 
MB_ERR_INVALID_CHARS
这个标示  不然 出错了 这个 API  仍然继续转换。。。

你可能感兴趣的:(判断一个文件是不是文本文件)