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>


  • 相关阅读:
    微博个人中心效果
    微博弹性按钮
    ios9 3dtouch 博客
    去掉导航栏阴影
    模态全屏模式,实现半透明效果
    剪切图片
    修改push动画的方向
    数据库链接池终于搞对了,直接从100ms到3ms
    如何在Java代码中去掉烦人的“!=null”
    面试官:请讲下接口具体怎么优化!
  • 原文地址:https://www.cnblogs.com/luoshupeng/p/2180712.html
Copyright © 2011-2022 走看看