Unicode下的CStdioFile用法范例

c++ MFC保存和解析csv文件数据 阅读详情
如果在VS2008中已经选择了Unicode,那么可以完全按照下列方法来做CStdioFile的读取与写入读取:
TCHAR szFilePath[MAX_PATH + 1]; 
GetModuleFileName(NULL, szFilePath, MAX_PATH); 
(_tcsrchr(szFilePath, _T('\\')))[0] = 0;//删除文件名,只获得路径
CString sFilePath =  szFilePath + CString("\\设置.txt");
CStdioFile fSet;
fSet.Open(sFilePath,CFile::modeReadWrite);
fSet.ReadString(sSpaceKeyCount);//读取行道sSpaceKeyCount

写入



	TCHAR szFilePath[MAX_PATH + 1]; 
	GetModuleFileName(NULL, szFilePath, MAX_PATH); 
	(_tcsrchr(szFilePath, _T('\\')))[0] = 0;//删除文件名,只获得路径
	CString sFilePath =  szFilePath + CString("\\设置.txt");
	CStdioFile fSet;
	fSet.Open(sFilePath,CFile::modeReadWrite);
	setlocale( LC_CTYPE, "chs" );//关键语句,设置了本地化信息才能正确写入。
	CString sSpaceKeyCount;
	sSpaceKeyCount.Format(_T("%d"),m_SpaceKeyCount);
	fSet.WriteString(sSpaceKeyCount);
	fSet.Close();

关键:

1、通过下列两句获得程序文件所在路径

GetModuleFileName(NULL, szFilePath, MAX_PATH); 
(_tcsrchr(szFilePath, _T('\\')))[0] = 0;//删除文件名,只获得路径

2、读取文本文件时无需考虑编码是否为Unicode,但是写入时必须要使用setlocale(LC_CTYPE,“chs”)设置为中文,切记切记。

VC修改CStdioFile类, 兼容一行一行读写Unicode的和非Unicode的log 有些人写Unicode的log文件时, 不知道在文件前加# define nUNICODE_BOM      0xFEFF 标志位。 当设置在Unicode环境下的VC代码中,使用MFC的CStdioFile类是无法正确调用ReadString()函数获取. 所有需要重写一个CStdioFileEx类.   FileEx.h文件: #define nUNICODE_BOM 0xFE 阅读详情

相关推荐

使用CStdioFile 读写UNICODE文档

一:写文档 1 创建文档并写入内容 CString filePath=L"C:\\unicode.txt"; CStdioFile wfile; if (!wfile.Open(filePath,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary)) { AfxMessageBox(L"文件无法修改");

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 7527

MFC使用CStdioFile读写CSV文件

逗号分隔值文件(csv文件)以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。 写csv文件: 需要注意: 写入中文时需进行示例中的设置。 换行只需要添加“\n”即可,不用添加“\r\n”。 char currentPath[MAX_PATH]; memset(cur

weixin_42077546的博客 3833

MFC 读取csv文件

C++ MFC 读取csv文件,例子仅供参考,根据个人情况,自己进行处理

【CStdioFile扩展(支持Ansi、Unicode、Utf-8等文本格式)】

例如:以下是官方博客例子浅析先加入相关的头文件和库文件。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。

我的博客 1018

MFC CSV文件的读取和写入

对CSV文件的读取和写入,简单操作,利用新手阅读和学习

CStdioFileEx(支持ANSI、UNICODE、UNICODE big endian、UTF-8编码的文本读取

/*程序用途:按行读取常见 (包括ANSI、UNICODE、UNICODE big endian、UTF-8)格式的文本文件 */ //核心算法:CStdioFileEx继承自CStdioFile, 覆盖CStdioFile的 BOOL ReadString(CString& rString)方法, // 根据不同文件编码特征,寻找文件回车换行符判断读取行结束,文件结束符判断文件结束 // 检测不同文件编码头部,获取文件类型后调用不同的读取函数 //测试结果:在Windows7 VS2008环境下测试上述四种格式的txt文件通过 //尚未完成:未重载CStdioFile的 virtual LPTSTR ReadString( LPTSTR lpsz, UINT nMax )方法 // 未完成WriteString方法,未在VC UNICODE 环境下的测试

CStdioFile扩展(支持Ansi、Unicode、Utf-8等文本格式)

头文件声明(CStdioFileEx.h): // StdioFileEx.h: interface for the CStdioFileEx class. // // Version 1.1 23 August 2003. Incorporated fixes from Dennis Jeryd. // Version 1.3 19 February 2005. Incorporated fixes from Howard J Oh and some of my own. // Version 1.4

老狼的专栏 1317

802.11 NDP Sounding

NDP Sounding1.NDP原理2.NDP 过程3.帧结构3.1 NDPA结构3.2 CBF帧 1.NDP原理 802.11n标准提供的波束成形技术,可以通过预先补偿发射天线的相位,让两条波束进行叠加以实现最好的效果 显式波束成形需要终端反馈信道信息: AP向STA发送探测数据(NDP: null data packet sounding) STA向AP反馈信道信息(Compressed beamforming) AP根据STA的反馈或自行计算的权重信息进行波束成形 2.NDP 过程 802.

weixin_45799954的博客 8262

在MFC中用CStdioFile对象输出utf-8和ansi编码的文本

转自:http://blog.youkuaiyun.com/thinkhy/article/details/5740748 下面的代码分别输出UTF-8和ANSI(简体中文Windows上是GBK编码)两种编码的文本文件。 // // 写UTF-8文本 // 下列文件类操作中可能抛出一个CFileException异常 try { CStdioFile hfile( strFileP

记录技术成长之路 5391

微信抢红包神器自动抢软件

微信抢红包神器自动抢软件

weixin_44006731的博客 8080

强化学习新手上路:用PPO-Clip轻松玩转Pendulum-v1(PyTorch保姆级教程)

本文提供了一份基于PyTorch的PPO-Clip算法实战教程,指导强化学习新手在Pendulum-v1环境中构建连续控制智能体。教程详细解析了PPO-Clip的核心机制,特别是其Clip机制如何限制策略更新幅度以确保训练稳定,并涵盖了从环境配置、策略网络设计、经验收集到完整训练框架搭建的全过程,是掌握连续动作空间强化学习的实用指南。

weixin_29062963的博客 270

CStdioFile在UNICODE环境下读取汉字

CStdioFile在UNICODE环境下读取汉字2009-08-05 17:45CStdioFile file;      if (!file.Open(m_File_Path, CFile::modeRead)) return;      CString strLine;

732

ESP32-S3驱动雨滴传感器实战:从原理到ADC/GPIO双模式数据采集

本文详细介绍了ESP32-S3驱动雨滴传感器的实战教程,涵盖其工作原理及ADC/GPIO双模式数据采集方法。通过解析传感器利用水的导电性检测雨量的核心机制,提供了完整的硬件连接方案与软件驱动代码,包括模拟量(AO)的ADC读取和数字量(DO)的GPIO读取,并附有调试技巧,帮助开发者快速实现雨滴检测功能。

weixin_32005771的博客 154

CStdioFile的Writestring无法写入中文的问题

解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题2009-12-01 23:11以下代码文件以CStdioFile向无法向文本中写入中文(用notepad.exe查看不到写入的中文)CStdioFile file;file.Open(…);file.WriteString(_T("abc你好"));//只能写入abc解决办法

ljz888666555的专栏 9621

开源GIS -- 笔记

基础开发库 数据读写:GDAL/OGR(C/C++) ArcGIS和GE都是使用此工具 投影转换:Proj.4(C/C++) 拓扑计算:JTS(Java),GEOS(C++),Shapely(python) 组件式开发库 GeoTools(Java),DotSpatial(.NET) 空间分析: Scipy(通用科学计算、方程求解), numpy,NextworkX, rPy(统计分析), Scikit-learn,pysal(空间分析) 深度学习: Keras、 tensorflow、 pytor

DZ Space 4521

Python 爬虫实战:爬虫与 ECharts 结合 —— 前端可视化展示

本文介绍了爬虫技术与ECharts可视化结合的完整实现流程。首先使用Python爬取京东商品数据(价格、评价数等),通过BeautifulSoup解析和pandas处理转换为JSON格式。然后构建前端页面,利用ECharts实现价格分布柱状图、价格-评价数散点图和店铺占比饼图三种可视化效果。文章详细解析了爬虫数据提取、格式转换和前端图表配置等关键技术点,并提供了完整的代码示例。最后提出了基于API接口、数据库存储等扩展方向,为数据采集到可视化展示提供了完整的解决方案。

2503_91057718的博客 631

解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题

<br />以下代码文件以CStdioFile向无法向文本中写入中文(用notepad.exe查看不到写入的中文)<br />CStdioFile file;<br />file.Open(…);<br />file.WriteString(_T("abc你好"));//只能写入abc<br />解决办法:<br />使用setlocale语句设定区域<br /><br /> #include <locale>//头文件<br /> CStdioFile file;<br />file.Open(…);

fengyan1_81的专栏 436

RestFul API 详解

RESTful API 经常也被叫做 REST API,它是基于 REST 构建的 API。RESTful API 可以让你看到 URL+Http Method 就知道这个 URL 是干什么的,让你看到了 HTTP 状态码(status code)就知道请求结果如何。

wynn的博客 7581

CStdioFile在UNICODE字符集下读写中文

问题 以CFile::typeBinary的形式读写包含中文的文件,未出现乱码。 以CFile::typeText方式读写, 分两种情况:在多字节字符集下,使用CStdioFile::ReadString读取包含中文的文件,正常;工程编码切换至UNICODE字符集,则出现了中文乱码。 探究查找MSDN文档,获得以下信息: Unicode™ Stream I/O in Text and Binar

憧憬,思考,奋斗,飞翔 3317

手把手教你学Simulink--基于Simulink的风力发电系统用双馈电机控制仿真建模

特点高效节能:在广泛的风速范围内保持高效的能量转换。独立控制有功和无功功率:通过控制转子电流实现对有功和无功功率的独立调节。较低的成本:相比直接驱动或全功率变流器方案,成本较低。挑战控制复杂度较高:需要复杂的控制算法来实现有功和无功功率的解耦控制。对电网波动敏感:需要良好的稳定性控制策略以应对电网电压波动。利用Simscape Electrical中的模块构建DFIG的物理模型,配置参数如电阻、电感、极对数等。matlab深色版本% 添加DFIG电机模块。

MHD0815的博客 347

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[原创] 在MFC中大家都习惯用CStdioFile来处理文本文件,可是为什么CStdioFile不叫CTextFile?

    这个恐怕是一个很奇怪的问题,甚至我在youkuaiyun.com上发帖的时候,有人这样回答“因为如果叫成CTextFile,你肯定要问 CTextFile为什么不叫CStdioFile?”。    也有人比较认真的说“CStdioFile类既可以对文本文件进行操作也可以对二进制文件进行操作,他有Write(),Read()等方法,而不公是WriteString(),ReadString()。很明显不能

蜗牛档案室 3039

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CStdioFile实现完美支持UNICODE方案

飞鸽传书软件在读写文件时,会遇到UNICODE的文件,怎么办呢?这个给大家一个CStdioFile实现完美支持UNICODE方案,先放着以后可能会用到。 // 目标文件路径名称的宏定义    #define FileURL _T("C://coderui.txt")    //    // 将“单字节的字串符类型(_MSBC环境)”转换为“宽字节的字符串类型(Unicode环

神经网络爱好者 2132

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MFC的CStdioFile输出和读取汉字乱码

转自:http://www.myexception.cn/vc-mfc/1244815.html   setlocale( LC_CTYPE, "chs" );  其对应的头文件为   MFC的CStdioFile::WritString和ReadString输出和读取汉字就是一大坑爹玩意UNICODE 都是UNICODE环境 所先是CStdioFile::WritString不能输

QiuRongXing的专栏 3945

MFC - CStdioFile 读取txt文件UNICODE 中文异常

MFC - CStdioFile 读取txt文件UNICODE 中文异常

Littleree的博客 305
上一篇: 字号与磅的对应关系
下一篇: WSUS3.0内外网快速导入更新补丁方法
darkread
博客等级 码龄25年 42粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值