c++中文路径中文文件读写

news2024/10/7 6:47:04

踩了坑,两个地方需要注意,否则就会乱码或无法找到文件

(1)采用utf-8格式,对cpp文件进行编码,用utf-8的方式对内容尽心高度写,方法是std::setlocale(LC_ALL, ".UTF-8");

(2)visual studio的编译命令行添加 /utf-8 以增加对utf-8内容的支持。

 

// testChineseFilePath.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <filesystem>
#include <fstream>

using namespace std;


int main()
{
    std::cout << "Hello World!\n";
    string filePath = "E:/迅雷下载/测试中文读写.txt";
    std::setlocale(LC_ALL, ".UTF-8");
    if (!filesystem::exists(filePath)) {
        cout << filePath << " is not exist" << endl;
        return -1;
    }

    //设置当前路径
    filesystem::current_path(filesystem::path(filePath).parent_path());

    //读取文件
    ifstream fin(filePath);
    while (!fin.eof())
    {
        string line;
        getline(fin, line);
        if (line.size() > 0) {
            cout << line << endl;
        }
    }
    fin.close();

    //写出文件
    cout << filePath << endl;
    ofstream fout("输出文件.txt");
    fout << "write text to a file with chinese file name 中文" << endl;
    fout.close();

    return 0;
         
}


运行效果

Hello World!
测试中文的读写算法
E:/迅雷下载/测试中文读写.txt

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/569394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dvwa靶场通关(二)

第二关&#xff1a;Command Injection&#xff08;命令注入&#xff09; 什么是命令注入&#xff1a; 命令注入就是在需要输入数据的地方输入了恶意代码&#xff0c;而且系统并没有对其进行过滤或者其他处理导致恶意代码也被执行&#xff0c;最终导致数据泄露或者正常数据被破…

软件测试基础知识整理(八)- 软件缺陷

目录 一、软件缺陷 1.1 缺陷定义 1.2 缺陷判定标准 1.3 软件缺陷产生的原因 1.4 软件缺陷产生的根源 1.5 软件缺陷信息 1.5.1 缺陷状态 1.5.2 缺陷严重程度 1.5.3 缺陷优先级 1.6 缺陷报告模板 1.7 缺陷报告注意事项 1.8 缺陷跟踪流程 1.9 缺陷数据分析关注的问题 …

chatgpt赋能python:Pythonsearchsorted:用于搜索排序数组的快速工具

Python searchsorted&#xff1a;用于搜索排序数组的快速工具 在Python编程中&#xff0c;有时需要在有序数组中快速查找值的位置。Python searchsorted工具提供了一种快速而高效的方法&#xff0c;可用于在已排序的数组中搜索值的位置。在本文中&#xff0c;将深入探讨Python…

实验二:熟悉常用的HDFS操作

实验环境: (1)操作系统:Linux(建议 Ubuntu 16.04 或 Ubuntu 18.04)。 (2)Hadoop 版本:3.1.3。 (3)JDK 版本:1.8。 (4)Java IDE: Eclipse。 实验内容与完成情况: (1)编程实现以下功能,并利用Hadoop提供的Shell命令完成相同任务。 ①向HDFS中上传任意文本文件,如果指定的文…

简介KettlePack

目录 &#x1f3c6;1、本机环境&#xff1a; &#x1f3c6;2、虚拟机环境&#xff1a; &#x1f3c6;3、安装MySQL &#x1f3c6;4、安装kettlePack ⭐️4.1、Windows版安装 ⭐️4.2、Linux安装 ⭐️4.3、docker安装 简介&#xff1a; 今日工作中的ETL脚本使用了从晶的…

【通义千问】什么是通义千问,如何免费获得内测和使用方法。

什么是通义千问&#xff0c;如何免费获得内测和使用方法。 什么是通义千问怎么获得内测资格申请方法有两种第一种直接点击申请体验第二种直接点击使用邀请码 通义千问邀请码怎么获得参与社区活动邀请好友关注通义千问微信公众号参加通义千问线上课程向通义千问官方提问 通义千问…

【C++】4.jsoncpp库:jsoncpp库安装与使用入门

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍jsoncpp的使用。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习知识&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&am…

Apache Kafka - ConsumerInterceptor 实战(2)

文章目录 Pre思路示例配置文件自定义 拦截器使用测试 小结 Pre Apache Kafka - ConsumerInterceptor 实战 (1) 用代码的方式实现了ConsumerInterceptor , 接下来我们用 配置的方式来实现一下 。 思路 如何找配置类 KafkaProperties 有些属性是很明显的有的&#xff0c;其他没…

STM32单片机(二)STM32环境搭建

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

LLMs开源模型们的分布式训练和量化

前一篇博文整理了&#xff1a; LLMs开源模型们和数据集简介 这篇博文主要整理一下目前流行的训练方法和量化。 &#xff08;图自Towards a Unified View of Parameter-Efficient Transfer Learning&#xff09; Tuning Strategies 使通用LLMs适应下游任务的最常见方法是微调…

电气器件系列三十七:多路温度测试仪、温度巡检仪

巡检仪适用于多点测量显示及控制&#xff0c;集多台仪表功能于一体&#xff0c;一般可巡检1&#xff5e;64路测量信号,可巡回检测和显示多路信号&#xff0c;与各类传感器、变送器配合使用&#xff0c;现已开发出八路巡检仪\十六路巡检仪\24路巡检仪-64路可对多路温度、压力、液…

项目总结 车牌识别

代码贴&#xff1a;OpenCV实战5 车牌号识别_opencv车牌字符识别_爱钓鱼的歪猴的博客-CSDN博客 目录 1、效果 2、代码思路 0、准备车配字符模板图片以及字符文件 1、对整图进行预处理 得到突出车牌的cany边缘图 2、车牌字体联通在一起&#xff0c;形成一个区域 3、筛选出车…

【华为OD机试】太阳能板最大面积【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条), 再在支柱的中间部分固定太阳能板。 但航天器不同位置的支柱长度不同,太阳…

URLConnection(一)

文章目录 1. 简介2. 打开URLConnection3. 读取服务器的数据4. 读取首部5. 获取任意首部字段 1. 简介 URLConnection是一个抽象类&#xff0c;表示指向URL指定资源的活动连接。URLConnection有两个不同但相关的用途。首先&#xff0c;与URL类相比&#xff0c;它对服务器&#x…

chatgpt赋能python:简介:什么是PythonShapiro?

简介&#xff1a;什么是Python Shapiro&#xff1f; Python Shapiro是一种用来进行正态性检验的工具&#xff0c;也就是说&#xff0c;它可以帮助我们检验一个给定的数据集是否符合正态分布的要求。它是从R语言中的Shapiro-Wilk测试方法改编而来的。 如何使用Python Shapiro&…

继瑞吉外卖后的又一个项目——SpringBoot+Vue的前后端博客系统

文章目录 博客系统项目介绍前言项目演示前台演示后台演示 组织结构后端组织结构前端组织结构 技术选型前端技术后端技术架构图系统架构图业务架构图 模块介绍前端模块后端模块 环境搭建开发工具开发环境项目运行 未完待续结语 博客系统项目介绍 前言 本项目已开源在Gitee 后端…

谈谈linux网络编程中的应用层协议定制、Json序列化与反序列化那些事

linux【网络编程】之协议定制、序列化与反序列化 一、序列化与反序列化二、应用层协议如何定制三、网络通信中数据流动的本质四、网络版计算器编写4.1 业务流程4.2 核心代码 一、序列化与反序列化 由于socket api的接口&#xff0c;在读写数据的时候是以字符串的方式发送接收的…

电子科技大学编译原理复习笔记(三):控制结构

目录 前言 重点一览 语句级控制结构 单元级控制结构 四种单元级控制结构 本章小结 前言 本复习笔记基于张老师的课堂PPT&#xff0c;供自己期末复习与学弟学妹参考用。 重点一览 语句级控制结构 定义&#xff1a;用来构造各种语句执行顺序的机制 传统三种语句级控制结…

Hyperledger Fabric explorer区块链浏览器搭建

https://github.com/hyperledger-labs/blockchain-explorer 官方浏览器的github地址 根据文档&#xff0c;采用docker容器的方法搭建explorer。 首先创建explorer的项目&#xff0c; mkdir explorer根据官方提供的文件&#xff0c;需要创建的目录结构如下&#xff1a; 这是官…

【计算机网络复习之路】网络层(谢希仁第八版)万字详解 主打基础

专栏&#xff1a;计算机网络复习之路 目录&#xff1a; 一、网络层的几个重要概念 1.1 网络层提供的两种服务 1.2 网络层的两个层面 二、网际协议 IP 2.1 虚拟互连网络 2.2 IP地址 2.2.1 IP地址及其表示方法 2.2.2 分类的IP地址 2.2.3 无分类编址CIDR &#xff08…