c++ 读取unicode文档


int ReadOneNameFile(char *filename, unsigned short names[g_maxLineNum][g_maxCharInLine], int &iLine)
{
printf("%s\n", filename);
ifstream fin;
fin.open(filename, ios::binary);
size_t index = 2;
int nameIndex = 0;
//while (!fin.eof()) //注意这行如果是这行代码,最后读取出来的数据最后一个字符会多一个,
while (fin.peek() != EOF)
{
fin.seekg(index, ios::beg);
wchar_t wch;
fin.read((char *)(&wch), 2);
if (wch == 0x000D) // 判断回车
{
iLine++;
if (iLine > g_maxLineNum)
{
fin.close();
return 0;
}
nameIndex = 0;
index += 4; // 跳过回车符和行开头符
}
else
{
names[iLine][nameIndex] = wch;
index += 2;
nameIndex++;
}
}

if (nameIndex > 0)
{
iLine++;
}
fin.close();
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值