tag 标签: 文件长度

相关博文
  • 热度 22
    2010-9-11 13:03
    2594 次阅读|
    1 个评论
    目的 在VC的ANSI编译环境下读取Unicode文件长度. 说明 在 ANSI 的环境下, 使用 file.GetLength() 读取 Unicode file, 将返回错误的数据. 我们顺手写了小函数, 用于读取 Unicode file length. 我们使用的思路基于, unicode 的每个字符一定是 2bytes. 我们返回的长度值, 包括文件头: 0xff 0xfe 或 0xfe 0xff 的长度. 并对一个文件的例子作了简单的测试. 例程 // if file isnot existed or unicode file, then return 0, or the whole filelen including head int CSetMsg::ReadUnicodeFileLen(CString sFilename) {  int len = 0;    CFile file;  if(!file.Open(sFilename, CFile::modeRead)) { return 0; }  BYTE head ;  file.Read(head, 2);   if((head ==0xffhead ==0xfe)||(head ==0xfehead ==0xff) ) {   file.Seek(2, CFile::begin); //0xfffe   len = 2;      char tmp ;   while(file.Read((char *)tmp,2)0) {    len += 2;   }  }  else {   //AfxMessageBox("File is NOT Unicode!");  }   file.Close();  return len; } Allen 2010.09.11