`
aigo
  • 浏览: 2643790 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[C++]MFC使用CFile读写Unicode字符集文件(文件头缺失导致乱码)

阅读更多

原文:http://blog.csdn.net/augusdi/article/details/8961008

写入Unicode文本时,要在文件头部加入Unicode文本标志0XFEFF。

#include <stdio.h>

#ifndef _UNICODE
#define _UNICODE            //使用UNICODE编码
#endif

#include <Afx.h>           //为了使用CString类

const int UNICODE_TXT_FLG = 0xFEFF;  //UNICODE文本标示

int main()
{
    FILE* WriteF;
    

    CString Wstr = _T("一个测试写入文本");
    WriteF = fopen("d:\\test.txt","w+");

    if(WriteF)
    {
        fwrite(&UNICODE_TXT_FLG,2,1,WriteF);  //写入头部
        fwrite(Wstr.GetBuffer(Wstr.GetLength()),Wstr.GetLength() * 2,1,WriteF);
        fclose(WriteF);
    }       
   
    return 0;
}

 

MFC代码如下:

#include <stdio.h>

#ifndef _UNICODE
#define _UNICODE
#endif

#include <Afx.h>



const int UNICODE_TXT_FLG = 0xFEFF;

// int main()
// {
//     FILE* WriteF;
//    
//
//     CString Wstr = _T("一个测试写入文本");
//     WriteF = fopen("d:\\test.txt","w+");
//
//     if(WriteF)
//     {
//         fwrite(&UNICODE_TXT_FLG,2,1,WriteF);
//         fwrite(Wstr.GetBuffer(10),Wstr.GetLength() * 2,1,WriteF);
//         fclose(WriteF);
//     }       
//    
//     return 0;
// }

int main()
{
    CFile WriteF;
    CString Wstr = _T("一个测试写入文本");

    WriteF.Open(_T("d:\\test.txt"),CFile::modeCreate | CFile::modeWrite);
    if(WriteF)
    {
        WriteF.Write(&UNICODE_TXT_FLG,2);
        WriteF.Write(Wstr.GetBuffer(Wstr.GetLength()),Wstr.GetLength()*2);
        WriteF.Flush();
        WriteF.Close();       
    }
    return 0;

}

 

 

分享到:
评论

相关推荐

    用CFile类简单读写文件

    `CFile`类是MFC(Microsoft Foundation Classes)库提供的一种方便的文件操作接口,它封装了标准C++的`fstream`类,使得文件的读写操作更为简洁。本文将详细探讨如何使用`CFile`类进行简单的文件读写操作。 首先,...

    C++_MFC_CFile

    CFile是MFC库中的一个重要组成部分,它是对Windows操作系统中文件操作的抽象,提供了对文件读写的基本接口。 CFile类在MFC中扮演着文件操作的核心角色,它提供了一种统一的方式来处理各种类型的文件,包括文本文件...

    mfc操作读写文件

    本文将深入探讨如何使用MFC进行文件的读写操作,特别是如何实现向文件写入数据并保存。 首先,我们需要了解MFC中的CFile类,它是进行文件操作的核心类。CFile提供了打开、关闭、读取和写入文件的一系列方法。在进行...

    unicode-CFile.rar_CFILE utf8_CFile Unicode_CFile unicode TXT_un

    本文将深入探讨“unicode-CFile.rar_CFILE utf8_CFile Unicode_CFile unicode TXT_un”这一主题,主要关注如何使用CFile类处理Unicode编码的配置文件,并强调配置文件末尾需要有空行的重要性。 Unicode是一种国际...

    MFC-CFile文件操作

    在Microsoft Foundation Classes (MFC)库中,CFile类是用来处理文件操作的核心组件。它提供了一种面向对象的方式来创建、打开、读取、写入和关闭文件。CFile类允许开发者使用基本的文件操作,而无需直接使用底层的...

    c++ 读写txt文件和乱码问题解决

    当涉及到UTF-8编码时,问题在于C++标准库默认处理的是ASCII编码,这可能导致在读写非ASCII字符(如中文、日文等多字节字符)时出现乱码。为了解决这个问题,你需要确保正确地指定文件的编码格式。 在读取UTF-8编码...

    vC++_API_CFile.rar_C++ CFile_CFile 文件操作_VC CFile_Vc_api CFi

    CFile类是MFC对标准C++ iostream库的一个补充,它提供了面向对象的方法来处理文件。使用CFile,你可以执行基本的文件操作,如打开、关闭、读取、写入和定位文件。CFile的构造函数允许指定文件路径和访问模式,如只读...

    MFC txt文件读写

    MFC(Microsoft Foundation Class)是微软提供的一套C++库,用于构建Windows应用程序。它封装了Windows API,使得开发者能够更方便地进行图形用户界面(GUI)编程。在这个"**MFC txt文件读写**"的实践中,我们将探讨...

    CFile读写文件

    本文详细介绍了如何使用MFC中的`CFile`类进行文件的读写操作,以及如何利用`CArchive`类进行数据的序列化与反序列化。通过具体的示例程序,读者可以更深入地理解这些概念,并将其应用到实际项目中。

    MFC,VC++读写DXF文件

    总的来说,使用MFC和VC++读写DXF文件涉及到文件操作、数据解析和图形处理等多个方面,需要具备扎实的C++基础和一定的图形学知识。通过这个项目,你可以学习到如何结合MFC的类库进行文件操作,以及如何解析和生成特定...

    mfc例程之读写txt文件

    本文将深入探讨如何使用MFC来实现对TXT文件的读写操作,这对于任何需要处理文本数据的Windows应用都是基础且重要的。 首先,我们需要了解MFC中的CFile类,它是所有文件操作的基础。CFile类提供了标准的文件操作接口...

    EVC读写文件方法使用CFile类

    在编程领域,尤其是在Windows平台下使用Visual C++(EVC,Embedded Visual C++)进行开发时,文件操作是一项基本且重要的任务。本篇文章将详细介绍如何利用CFile类在EVC中进行文件的读写操作,这对于初学者来说是相当...

    MFC-CFile类读写列表控件数据实例

    在Microsoft Foundation Classes (MFC)库中,CFile类是一个重要的工具,用于处理文件的读写操作。这个实例展示了如何利用CFile类来读取和写入列表控件(CListCtrl)的数据。列表控件在Windows应用程序中常用于显示多...

    MFC UTF-8文件批量转成GB2312 解决中文乱码问题

    在本场景中,我们面对的问题是“MFC UTF-8文件批量转成GB2312 解决中文乱码问题”,这涉及到文件的读取、编码转换以及文件的写入操作。 首先,我们需要理解UTF-8和GB2312这两种编码的区别。UTF-8是一种变长的...

    VISUAL C++MFC编程实例

    8. **文件I/O**:MFC提供了CFile类来进行文件的读写操作,支持文本和二进制模式。 9. **数据库编程**:MFC提供了ADO(Microsoft ActiveX Data Objects)和DAO(Database Access Objects)库,用于连接和操作数据库。...

    C++ 读写XML文件

    本项目"**C++ 读写XML文件**"是针对MFC(Microsoft Foundation Classes)框架的一个示例,展示了如何在C++环境中方便地操作XML文件。 首先,我们需要了解XML的基本结构。XML文件由元素(Element)、属性(Attribute...

    MFC_CFile_class.rar_MFC_cfile

    在Microsoft Foundation Classes (MFC)库中,CFile是一个核心的类,用于处理文件操作。这个库是基于C++的,旨在简化Windows应用程序的开发。本文将深入探讨CFile类的功能,包括如何打开、读写、关闭文件,以及如何...

    MFC文件操作读写

    ### MFC文件操作读写知识点解析 #### 一、MFC简介 MFC(Microsoft Foundation Classes)是微软提供的一套面向对象的C++类库,它封装了Windows API中的大部分功能,使得开发者能够更加高效地进行Windows应用程序...

    MFC按行读文件

    在IT领域,尤其是在C++与MFC框架的开发过程中,文件操作是一项基本且重要的技能。MFC(Microsoft Foundation Classes)是微软提供的一套基于Win32 API的类库,它简化了Windows应用程序的开发过程。在MFC中,...

    MFC读写TXT文件

    下面将详细介绍如何使用MFC进行TXT文件的读写,并讨论相关知识点。 1. **CFile类**:这是MFC中的核心文件类,它提供了基本的文件操作功能,如打开、关闭、读取和写入。在读写TXT文件时,我们需要创建CFile对象并...

Global site tag (gtag.js) - Google Analytics