zoukankan      html  css  js  c++  java
  • 在Unicode环境下读出和写入文件

    近日,做一个文件的读取和写入工作,在网上找到的一些方法,但是却不能完全成功,失败的地方在于:不能写入汉字。我想这肯定和UNICODE环境有关,于是查了一下资料,形成了以下文字。

    第一,读取文件(这个没有什么问题)

    const TCHAR szFilter[] = _T("CVS文件(*.csv)|*.csv");
    CFileDialog OpenFileDialog(TRUE,_T(
    "csv"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,szFilter,NULL);
    if (OpenFileDialog.DoModal() == IDOK)
    {
    CString FileName
    = OpenFileDialog.GetPathName();
    CStdioFile File;
    File.Open(FileName,CFile::modeRead);
    CString strLine;
    while (File.ReadString(strLine))
    {
    MessageBox(strLine);
    }
    }



    第二,定文件

    const TCHAR szFilter[] = _T("CVS文件(*.csv)|*.csv");
    CFileDialog OpenFileDialog(FALSE,_T(
    "csv"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,NULL);
    if (OpenFileDialog.DoModal() == IDOK)
    {
    CString FileName
    = OpenFileDialog.GetPathName();
    _tsetlocale(LC_CTYPE,_T(
    "chs"));
    CStdioFile File(FileName,CFile::modeCreate
    |CFile::modeWrite);
    File.SetLength(
    0);
    CString strLine
    = _T("你,我\n");
    File.WriteString(strLine);
    strLine
    = _T("你,我\n");
    File.WriteString(strLine);
    File.Close();
    }


    当然,在此之前还需要引入一个头文件#include <locale>


  • 相关阅读:
    Python学习之旅—生成器对象的send方法详解
    对集合多列进行求和方法的选择
    23种设计模式
    这一天,我真正的体会到。。。
    火狐浏览器导出EXCEL 表格,文件名乱码问题
    K-fold Train Version3
    K-fold Train Version2
    K-fold Train
    Confusion matrix
    Kaggle Solutions
  • 原文地址:https://www.cnblogs.com/luoshupeng/p/2180712.html
Copyright © 2011-2022 走看看