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

保姆级教程:Unity编辑器汉化全流程(从下载到配置避坑指南)

本文提供Unity编辑器汉化的保姆级教程,涵盖从下载中文语言包到配置避坑的全流程。详细解析版本适配、文件系统交互及编辑器底层配置逻辑,帮助开发者高效完成汉化,解决常见报错问题,提升工作效率。

weixin_30825581的博客 155

在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

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 225

WebDriverAgent 菜鸟解析篇

WebDriverAgent 是一个用于模拟移动设备浏览器的 Python 库,可以用来在 PC 上模拟移动设备的浏览器操作,从而进行自动化测试。下面是一个菜鸟对 WebDriverAgent 源码的解析篇,希望能对初学者有所帮助。

DJ355的博客 1222

CStdioFile在UNICODE环境下读取汉字

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

732

TSMaster二次开发实战:如何用Python搞定CAN/CANFD事件回调(附完整代码)

本文详细介绍了如何利用Python进行TSMaster二次开发,实现CAN/CANFD事件回调功能。通过实战代码演示,讲解了预发送与后处理回调的核心区别、注册流程、资源管理及性能优化技巧,帮助工程师高效构建自动化测试与数据监控应用。

star的博客 668

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

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

ljz888666555的专栏 9621

AgentScope Java 2.0 项目实战: 从零构建自己的个人AI助手“小龙虾“

本文系统介绍如何基于Spring Boot WebFlux、React 18和TypeScript,从零搭建一个本地化的个人AI助手管理平台——AgentScope Paw。项目支持多Agent创建与管理、SSE流式对话、工作区文件CRUD、技能市场、子智能体孵化、AI辅助起草Agent配置等核心功能,并深度集成钉钉、企业微信、飞书、GitHub等IM通道。

program哲学 1425

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第一篇:开发环境准备

vue3入门实战:环境准备篇

感谢阅读 1385

解决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

STM32F103C8T6驱动DHT11温湿度传感器程序

本程序基于 STM32F103C8T6 微控制器,通过 GPIO 模拟单总线通信时序实现对 DHT11 温湿度传感器的数据采集,主机采用拉低数据线的方式触发传感器启动,并通过检测高电平持续时间区分逻辑“0”和“1”,依次读取湿度和温度的整数数据及校验位,经过校验后将有效结果存入缓存数组,实现对环境温湿度的周期性测量与处理。

加斯顿工程师的博客 200

CStdioFile在UNICODE字符集下读写中文

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

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

Python与CAD系列基础篇(十)图形复制、移动、删除

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。进行图形复制、移动、删除的方法。pyautocad方式。pyautocad方式。

weixin_43894929的博客 2210

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

蜗牛档案室 3039

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

CStdioFile实现完美支持UNICODE方案

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

神经网络爱好者 2132

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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、付费专栏及课程。

余额充值