C++判断文件编码类型(省去你不必要的麻烦!) 您所在的位置:网站首页 linux如何查看文件的编码格式是否正确使用 C++判断文件编码类型(省去你不必要的麻烦!)

C++判断文件编码类型(省去你不必要的麻烦!)

2024-07-12 00:09| 来源: 网络整理| 查看: 265

问题来源:

在c++ primier plus第六版的第十七章设计文件操作的习题中,我用记事本创建了一个包含中文的文件,通过传统的ifstream去读取的时候,中文部分出现了乱码,发现是字符编码的问题。

问题相关描述:

用上述直接创建方式生成的txt是utf-8,但是如果我们在程序内部通过ofstream去创建文件的话,文件编码是ANSI,这时候通过ifstream读取并不会出错。

判断文件编码

参考https://blog.csdn.net/bladeandmaster88/article/details/54767557 这里我对他的代码进行了修改,因为直接在我的电脑上结果不对

#include using namespace std; int main() { ifstream fin("C:/Users/Administrator/Desktop/w/1.cpp",ios::binary); unsigned char s2; fin.read((char*)&s2, sizeof(s2));//读取第一个字节,然后左移8位 int p = s2 ifstream fin("chapter17_4.txt"); ofstream fout("chapter17_4.3.txt"); std::wstring_convert conv; string strfile; if (!fin.is_open()) { cerr code = "utf-8"; fin.seekg(0); while (getline(fin, strfile) && strfile.size() > 0) { //cout cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有