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>


  • 相关阅读:
    C# Func的同步、异步调用
    C#以管理员身份运行程序
    C# 代码编程规范
    C# DES加密解密
    C# MD5加密
    EntityFramework查询--联合查询(Join,GroupJoin)
    C# 图片和Base64之间的转换
    php 验证身份证号
    Vue环境搭建
    PHP 3种方法实现采集网站数据
  • 原文地址:https://www.cnblogs.com/luoshupeng/p/2180712.html
Copyright © 2011-2022 走看看