当前位置:   article > 正文

c语言中utf-16,在c中读取UTF-16文件

mfc读取utf-16be文件

我正在尝试读取具有BOM的UTF-16LE编码的文件.

我试过这段代码

#include

#include

#include

#include

int main() {

std::wifstream fin("/home/asutp/test");

fin.imbue(std::locale(fin.getloc(), new std::codecvt_utf16));

if (!fin) {

std::cout << "!fin" << std::endl;

return 1;

}

if (fin.eof()) {

std::cout << "fin.eof()" << std::endl;

return 1;

}

std::wstring wstr;

getline(fin, wstr);

std::wcout << wstr << std::endl;

if (wstr.find(L"Test") != std::string::npos) {

std::cout << "Found" << std::endl;

} else {

std::cout << "Not found" << std::endl;

}

return 0;

}

该文件可以包含拉丁文和西里尔文.我用字符串“Testтест”创建了该文件

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号