最近突然想用用TXT文件存储数据,网上找了段源码,采用CStdioFile类简单方便,但出现一个很奇怪的问题,从TXT读取的文件一旦遇到中文就变成乱码,可重新写进TXT文档却又全部正常,后来发现是ANSI格式UNICODE格式兼容问题,貌似VC2005以上版本都有这毛病,网上找了很多解决方法,不过某位大神设置语言区域的方法最简单实用,源码贴出来供大家参考



墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
4.2k累计阅读
4.2k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄15年
最近突然想用用TXT文件存储数据,网上找了段源码,采用CStdioFile类简单方便,但出现一个很奇怪的问题,从TXT读取的文件一旦遇到中文就变成乱码,可重新写进TXT文档却又全部正常,后来发现是ANSI格式UNICODE格式兼容问题,貌似VC2005以上版本都有这毛病,网上找了很多解决方法,不过某位大神设置语言区域的方法最简单实用,源码贴出来供大家参考



VC++6.0项目精讲:从Win32到MFC,掌握Windows桌面开发核心
Windows桌面应用程序开发的核心在于理解其底层运行机制,这通常涉及对Windows API的调用、消息循环的处理以及运行时库的依赖。消息循环是Windows程序的心脏,它负责从系统队列中获取并分发用户输入和系统事件,驱动程序运行。动态链接库(DLL)和运行时库(如MSVCRT)的管理则是确保程序可移植性和部署成功的关键技术,它们解决了代码复用和依赖问题,这也是现代应用(如Flutter桌面端)打包时仍需处理VC++库依赖的根本原因。掌握这些原理,对于维护遗留系统或理解现代框架的底层封装都极具价值。本文将
CStdioFile实现完美支持UNICODE方案
飞鸽传书软件在读写文件时,会遇到UNICODE的文件,怎么办呢?这个给大家一个CStdioFile实现完美支持UNICODE方案,先放着以后可能会用到。 // 目标文件路径名称的宏定义 #define FileURL _T("C://coderui.txt") // // 将“单字节的字串符类型(_MSBC环境)”转换为“宽字节的字符串类型(Unicode环
VC6 MFC对话框程序:带界面操作的TXT文件读写完整工程包
直接用Visual C++ 6.0打开就能编译运行的MFC对话框项目,实现用户在界面上输入文字后一键保存为a.txt,也能点击按钮从a.txt读取内容并显示在编辑框中。工程包含全部源码(red.cpp、redDlg.cpp等)、资源文件(图标、RC脚本、对话框模板)、可执行文件red.exe,以及VC6专属工程文件(.dsw、.dsp)。所有代码基于标准MFC框架编写,使用CStdioFile完成文本读写,逻辑清晰,无额外依赖。配套ReadMe.txt说明操作步骤,a.txt作为默认测试文件预置在包内。调试
使用CStdioFile 读写UNICODE文档
一:写文档 1 创建文档并写入内容 CString filePath=L"C:\\unicode.txt"; CStdioFile wfile; if (!wfile.Open(filePath,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary)) { AfxMessageBox(L"文件无法修改");
从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)
本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。
IKM 测试题 - Java SE 8 评估测试题目
IKM 测试题 - Java SE 8 评估测试题目
CStdioFile::ReadString(CString str)读ANSI文件的乱码问题
今天在实现提取某ANSI文件内字符信息时发现中文都是乱码,折腾好久,试了数种方法,就以下两种比较简单有效些:(vs2019解决方案属性设置的是Unicode而非多字节) CStdioFile FileRead(LPCTSTR(_T("***")),CFile::modeRead); CString strRead=_T(""); while(FileRead.ReadString(strRead)) { vecFileLines.push_back(strRead); } 1. 用一个csdn
逆向分析PerimeterX px3:从混淆JS到生成有效令牌的完整实战
在Web安全与数据采集领域,反自动化防护是保障服务稳定和数据安全的关键技术。其核心原理是通过收集浏览器环境指纹和用户行为特征,动态生成加密令牌来区分真人用户与自动化脚本。这项技术的工程价值在于平衡安全性与用户体验,广泛应用于电商、金融、社交等需要防止恶意爬虫和自动化攻击的场景。本文聚焦于业界广泛部署的PerimeterX px3防护方案,通过JavaScript逆向工程,深入剖析其令牌生成机制。我们将探讨如何运用动态调试、反混淆工具和算法还原等关键技术,突破px3的防护壁垒,为自动化测试和数据采集提供稳定可
【CStdioFile扩展(支持Ansi、Unicode、Utf-8等文本格式)】
例如:以下是官方博客例子浅析先加入相关的头文件和库文件。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。
实战Nocobase插件开发:如何用yarn pm命令快速创建和测试API接口插件
本文详细介绍了如何使用Nocobase插件开发工具快速创建和测试API接口插件,涵盖从环境配置、插件骨架生成到数据模型定义和接口实现的完整流程。通过yarn pm命令简化开发步骤,帮助开发者高效构建支持CRUD的API插件,适用于低代码平台开发场景。
VL53L1X移植到STM32实战记录,使用软件IIC(附源代码)
序言 VL53L1X是一个很小又很优秀的测距传感器,它相比于上一代VL53L0X有着不小的提升,这次毕业设计打算将这个传感器用起来,就来移植了一下,遇到的坑怎么说还是有一些,故在此分享给大家。 开发环境 IDE:Keil V5 STM32CubeMX ,使用HAL库 具体操作 获取官方库并进行移植 这一步是移植的基础,首先从官方把API库下下来,并添加到IDE中: 适配硬件 这里由于不同的硬件平...
VC读写TXT文件和CStdioFile读写乱码----本人亲自测试可行
原文地址::http://blog.youkuaiyun.com/callmezane/article/details/7172920 相关文章 1、[C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试----http://www.cnblogs.com/zyl910/archive/2013/01/20/wchar_crtbug_01.html
【DaVinci Developer专题】-23-IDT高阶应用:结构体类型的数组
共8页 目录 1 创建一个Record IDT 2 创建一个Array IDT 3 创建一个S/R Port Interface 4 创建一个Constant 5 导入CFG生成代码的总结 6 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键字: 缩略语/术语 含义 DEV DaVinci Developer .
VC 逐行读写TXT文件
用流在写日志时,发现如果把"\r\n"直接写在字符串的尾部,则会造成乱码,其中的原因网上有很多说明,主要是标准库与WINDOWS的回车换行的机制略有差别。但只要写到另一行重起就没有 用流在写日志时,发现如果把"\r\n"直接写在字符串的尾部,则会造成乱码,其中的原因网上有很多说明,主要是标准库与WINDOWS的回车换行的机制略有差别。但只要写到另一行重起就没有问题了。
6、Cocos2D游戏开发:精灵添加与角色实现
本文详细介绍了在Cocos2D游戏开发中如何添加背景精灵和玩家角色精灵。通过创建GameScene场景、组织项目资源、使用多分辨率图像适配不同设备,并深入讲解了将角色拆分为上下半身以实现更真实瞄准效果的原理。文章还解析了Cocos2D的图像搜索机制、锚点概念及其应用,以及如何通过父子节点关系管理复合角色。最终实现了猎人角色在场景中的正确显示与定位,为后续动画和交互功能打下基础。
LPDDR5 学习笔记01:功能概述
LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。
MFC基础入门:从核心原理到实战开发,掌握Windows桌面编程精髓
Windows桌面开发的核心在于理解其事件驱动架构与图形用户界面(GUI)编程模型。MFC(Microsoft Foundation Classes)作为对Windows API的经典封装,通过消息映射机制、文档/视图架构和对话框数据交换(DDX)等设计,清晰地揭示了这一原理。掌握MFC不仅能帮助开发者维护海量存量系统,更能深刻理解GUI框架的底层运作逻辑,为学习Qt等现代框架打下坚实基础。在工程实践中,MFC凭借其与Visual Studio的深度集成,可快速构建无外部依赖、体积小巧的桌面工具,尤其适合金
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
CStdioFile的Writestring写入中文的总结(unicode-ucs2/utf8-无Bom/ansi-gb2312)
(参考:http://blog.youkuaiyun.com/sun20082567/article/details/8316625 http://blog.youkuaiyun.com/gillerr/article/details/8518495 等) (注:下面部分内容未验证,为推测的行为) (注:前提-使用VS,工程文字模式为unicode模式--对代码中的文字有影响) (注:字节序为little-end
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
将CStdioFile类扩展,读取UNICODE文本文件
最近因为要读取SQL脚本文件,用CStdioFile来读取脚本文件,却在程序调试时读取不了文件。后来看了一下文本文件格式,竟然是UNICODE格式的,原来在导出SQL脚本的时候,选项默认的是UNICODE格式。为了同时支持ANSI和UNICODE两种格式,在Codeproject站点上找到了CStdioFileEx类的代码,但在调试运行过程中发现,在生成UNICODE版本的执行文件时,运行没
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
CStdioFile读写中文乱码
第一种:基于多字节的 char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) ); setlocale( LC_CTYPE, "chs" ); //文件读写操作 setlocale( LC_CTYPE, old_locale ); free( old_locale ); 第二种:基于Uncode的 wchar_t* pOldLocale = ...
CStdioFile ReadString 在unicode环境下汉字显示的乱码的问题。
txt文本是unicode编码格式,但ReadString后,显示汉字是乱码的。以下是解决办法。 CString CSetupForm::GetTxtfile(CString txtdir) //参数为文件路径 { CStdioFile file; if(file.Open(txtdir,CFile::modeNoTruncate | CFile::modeRead |
解决CStdioFile.ReadString读取中文产生乱码问题
VC++保存和读取文件中的汉字出现乱码
2.如果要将ASCII码字符串转换为宽字符(Unicode),
VC中怎么读取.txt文件
VC中怎么读取.txt文件 一、 CStdioFile 二、 FILE* f = fopen("file name", "mode"); char buff[size]; fread(buff, size, 1, f); fclose(f); 三、 //用MFC读文件 CFile file("yourfile.txt",CFile::modeRead
CStdioFile的ReadString读入中英文的总结(unicode-ucs2/utf8-无bom/ansi) .
文章讨论的前提:使用ReadString来读取字符串 utfi/ansi情况下,不能使用binary来打开,因为这种模式下,一次按照TCHAR的大小,读取两个字符,结束符号0d的话,需要读取到0x 0d 00才会认为是读取一行结束。而我们知道untf8/ansi情况存储的话,里面是没有0x00存在的。 utf8/ansi情况下,使用typetext打开,可以把字符读入到CString里面,但存
177
2521

被折叠的 条评论
为什么被折叠?



