fstream unicode

记录fstream类读取UTF-8时出现乱码问题以及fstream读文件的几种方法 1.处理fstream类读取UTF-8时出现乱码问题,思路先将utf-8转换成UNICODE 再转化成ANSI #include <string> #include<fstream> using namespace std; string changeUTF8ToAnsi(const char * szU8) { int wcsLen = ::Mult... 阅读详情
: /********************************************************************
   2:     created:    2008/05/10
   3:     created:    10:5:2008   23:56
   4:     filename:     k:/sj/fstreamTest/fstreamTest/main.cpp
   5:     file path:    k:/sj/fstreamTest/fstreamTest
   6:     file base:    main
   7:     file ext:    cpp
   8:     author:        Gohan
   9: *********************************************************************/
  10: #include <tchar.h>
  11: #include <fstream>
  12: #include <iostream>
  13: using namespace std;
  14: int main()
  15: {
  16:     /************************************************************************/
  17:     /* 方法1,使用_TEXT()宏定义将字符串常量指定为TCHAR*类型                 */
  18:     /* 如果是我,首选此类型                                                 */
  19:     /************************************************************************/
  20:     fstream file;
  21:     file.open(_TEXT("c://测试//测试文本.txt"));
  22:     cout<<file.rdbuf();
  23:     file.close();
  24:  
  25:     /************************************************************************/
  26:     /* 方法2,使用STL中的locale类的静态方法指定全局locale                   */
  27:     /* 使用该方法以后,cout可能不能正常输出中文,十分蹊跷                    */
  28:     /* 我发现了勉强解决的方法:不要在还原区域设定前用cout或wcout 输出中文   */
  29:     /* 否则后果就是还原区域设定后无法使用cout wcout输出中文                 */
  30:     /************************************************************************/
  31:     locale::global(locale(""));//将全局区域设为操作系统默认区域
  32:     file.open("c://测试//测试文本2.txt");//可以顺利打开文件了
  33:     locale::global(locale("C"));//还原全局区域设定
  34:     cout<<file.rdbuf();
  35:     file.close();
  36:  
  37:     /************************************************************************/
  38:     /* 方法3,使用C函数setlocale,不能用cout输出中文的问题解决方法同上      */
  39:     /************************************************************************/
  40:     setlocale(LC_ALL,"Chinese-simplified");//设置中文环境
  41:     file.open("c://测试//测试文本3.txt");//可以顺利打开文件了
  42:     setlocale(LC_ALL,"C");//还原
  43:     cout<<file.rdbuf();
  44:     file.close();
  45: }
VC Unicode工程读写文本文件 因为Windows底层处理字符串是以Unicode形式处理的,所以现在一般使用VC开发软件时都选择Unicode的工程。在Unicode工程中,读写文本文件就会有一个比较纠结的问题:      一般情况下我们新建和编辑的文本文件都是ANSI格式的,而在ANSI工程中用着十分方便的CStdioFile读取字符串时使用的是CString类型, 这就导致Unicode工程环境下CStdioFile将Ansi的字符串读取到了CStringW类型中,即使想使用CA2W来转, 也会出现类型不匹配的错误。      这种 阅读详情

相关推荐

Python实战:超分辨率图像质量评估全攻略——PSNR、SSIM、LPIPS与NIQE的代码实现与优化

本文详细介绍了在Python中实现超分辨率图像质量评估的完整方案,涵盖PSNR、SSIM、LPIPS和NIQE四大核心指标。通过模块化代码设计、多进程并行处理和GPU加速优化,帮助开发者构建高效、可扩展的评估系统,并提供了实战避坑指南与结果解读方法。

weixin_29053073的博客 474

ofstream打开中文路径失败解决方法

用ofstream打开中文路径名会失败问题,解决方法为: std::locale loc = std::locale::global(std::locale("")); std::ofstream fout(FilePath); //do some work here fout.close(); std::locale::global( loc );

3653

SAGA GIS英文版进行地形分析,计算常用的地形因子等

SAGA GIS中文版是一款专业的自动化地球科学分析系统软件。SAGA GIS最新版界面简洁,操作简便,用户使用时输入要分割的影像,选择要计算特征的影像或者波段,设置越大,得到的斑块越大;反之,则越小,点击Okay,得到分割影像图。SAGA GIS中文版主要通过选择适合你影像的格式,加载影像。 SAGA GIS全称是System for Automated Geoscientific Analyses,是一种用于编辑空间数据的地理信息系统(GIS)计算机程序,它是免费的开源软件,SAGA GIS旨在为科学家

qq_35794085的博客 5641

C++文件读写详解(ofstream,ifstream,fstream)

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: #include ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中 fstrea

晨雪无痕 93万+

CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04

在 ubuntu14 系统上面安装 CSI Tools,2020最新教程,亲测可用,只要保证和我做法一致绝对可以安装好。

WS的小屋 1万+

实现单芯片2400bps 音频编解码方案

终于按照朋友的需求,帮他开发了一款单芯片集音频采集编码传送并接收解码播放功能的方案,交给快递公司邮寄给远在郑州的他.整个项目从开始定型到现在一个样机送出,整整花了1个月时间,感觉挺有成就感,挺有意思,工作是辛苦的,结果却是快乐的.现在将这中快乐的的心情与大家分享一下.    真个项目用一颗主控搞定,ARM9的,200KBytes 片内RAM,主频可以跑到300MHz,64pin LQFP封装

nyxsec的专栏 3682

C++中文路径解决方案(2023亲测有效)

c++处理中文路径,非网传版本。两个解决方法,无第三方库和使用qt

m0_61800313的博客 8817

数字通信:信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码

在通信系统中,信息的传输通常需要经过一系列的处理步骤,确保数据可以在信道中高效且可靠地传输。以下是信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码的具体含义及其常见技术的解释。

weixin_44012667的博客 4805

文件读写流函数ifstream--ofstream

覆盖是清楚之前的所有数据再写入新数据,即使写入的数据比之前的少,之前的数据也不会存在。ifstream和ofstream已经指定文件打开方式,只需要指定文件路径即可。1,刚开始打开一个文件时,文件指针位于文件头部,也就是只想文件的第一个位置;但是如果同一个文件多次打开写入,那么前面写入的数据会被后面写入的数据覆盖。ifstream----可以从文件(磁盘)读取数据到内存。ofstream----可以将内存的数据写入文件(磁盘)执行都是类,用这些类操作文件都要建立对象流。access一般为0。

m0_60274660的博客 5517

AD9361数字调制入门:从IQ调制原理到动手实现第一个ASK信号(Vivado工程详解)

本文详细介绍了如何使用AD9361射频收发器实现ASK数字调制,从IQ调制原理到Vivado工程实现。通过Verilog代码示例和FPGA架构设计,帮助开发者理解纯逻辑实现数字调制解调的关键技术,特别适合软件无线电(SDR)初学者入门实践。

weixin_29158047的博客 374

Cartographer实现双雷达建图

TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。

Studying…… 1261

c++文件输入输出流fstream指定文件路径正确书写

1、直接复制文件路径读取文件流(❌错误的,无法读取成功) fstream afile; //afile.open("E:\C++\test", ios::out | ios::in); 复制test的路径只会复制到文本test的上一层 afile.open("E:\C++\test\test.txt", ios::out | ios::in); //这是test.txt正确路径 2、fstream文件流读取,路径名中的斜杠要双写,如: "D:\\MyFiles\\ReadMe.txt"

weixin_42322256的博客 1万+

别再只会复制Haar级联代码了!OpenCV人脸检测全方案深度解析,从原理到工业级落地

通用预训练模型在你的业务场景效果不好时,用自己的业务数据集训练专属的级联器,是提升精度的终极方案,OpenCV自带和工具,支持自定义Haar/LBP级联器训练。场景首选方案次选方案新手入门学习Haar级联分类器LBP级联分类器嵌入式轻量固定场景LBP级联分类器YuNet轻量版工业级落地项目(99%场景)DNN+YuNetMTCNN多人脸+小目标复杂场景DNN+YuNet自定义微调模型同时做人脸+其他目标检测。

2601_94871597的博客 379

fstream ofstream unicode

/******************************************************************** created: 2008/05/10 created: 10:5:2008 23:56 filename: k:/sj/fstreamTest/fstreamTest/main.cpp file

Augusdi的专栏 1916

蓝牙模块HM-10手册

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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

fstream读写UNICODE文件

今天遇到要处理UNICODE文件的情况,网上找了一圈都是读取出字节,再转的,这个不方便啊!想起了有codecvt这么个东西,顺藤摸瓜,找到了方法。 locale utf16(locale(""), new codecvt_utf16<wchar_t, 0x10ffff, little_endian>); wifstream fin("Module.rc"); wofstrea...

weixin_30367873的博客 162

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C++ fstream 读写 unicode 文件

原文转载于:https://blog.youkuaiyun.com/moooxin/article/details/24620511所谓的unicode文件,无非就是在文件头部插入了 0xFFFE的标志。。。读写的时候对应的读写 就可以了。[cpp] view plain copynamespace fileStream  {        bool readFile_Unicode( const strin...

农村的我的专栏 2822

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【代码备忘】C++ fstream 读写 unicode 文件

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 所谓的unicode文件,无非就是在文件头部插入了 0xFFFE的标志。。。读写的时候对应的读写 就可以了。 namespace fileStream { bool readFile_Unicode( const string &file ,wstr

木心[ mx1024 ] 欢迎 4638

fstream类读取UTF-8、Unicode和ANSI文本文档乱码问题的解决方案

终于解决了fstream类读取UTF-8、Unicode和ANSI文本文档乱码问题的解决方案:http://m.oschina.net/blog/17457 非常值得推荐!

huangyanzhou163的专栏 1036

【程序】给C++的cout和fstream添加Unicode支持,使其能向屏幕或文件输入/输出wchar_t字符串

【程序】 #include #include #include #define RDBUF_LEN 200 using namespace std; ostream &operator << (ostream &os, const wchar_t *wstr) { if (os == cout) WriteConsoleW(GetStdHandle(STD_OUTPUT_HAN

ZLK1214的专栏 4829

VS2005 FSTREAM 不能打开中文路径名文件的问题!

VS2005 FSTREAM 不能打开中文路径名文件的问题!公司有一个项目从vs2003移植到vs2005之后老是出现runtim error经过排查最终定位在fstream 打开"含中文路径"的文件时候会出现fail的情况本来不相信vs2003过渡到2005会有这个问题,但是经过试验确证实了该问题我新建立一个exe来测试该问题#include "stdafx.h" #include "testi

Augusdi的专栏 2482

fstream 对中文的问题

<br />由于 项目要增加对l10n的支持, 最近把项目中一个原来hard code 的部分, 现在用配置文件的方式进行的修改。 <br /> 用到了 fstream对文件进行处理。 <br />发现当文件名有中文的时候, fstream的open 总是返回失败, google一把, 把一些学习到的东西放到下面,希望对大家有帮助吧。<br /> <br />1. 参考网页让VS2005中的fstream支持中文路径文件打开ifstream的open文件的时候出错Ansi、Unicode、UTF8字符串之间

php_boy的专栏 1333
上一篇: PHP Version 5.1.2
下一篇: Java多线程Socket操作猜数游戏样例
suacker
博客等级 码龄24年 46粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值