如何用C++读取UTF-8文件数据?

2024-06-30

我有一个清单IPA https://en.wikipedia.org/wiki/International_Phonetic_Alphabet名为 ipa.txt 的文本文件中的 (UTF-8) 符号并为其分配了数字。如何将它与源文件交叉引用,该源文件也是一个包含一堆单词及其相应的 IPA 的文本文件,以返回每个名称的文本文件,并将其名称作为文件名,并且文本文件内部应包含其相应的名称IPA 数量。

以下是我尝试过但没有成功的方法,仅输出大多为 000000。

int main()
{
    std::unordered_map <wchar_t, int> map;
    std::wifstream file;
    file.open("ipa.txt");
    if (file.is_open()) {
        std::cout << "opened ipa file";
    }

    wchar_t from;
    int to;
    while (file >> from >> to) {
        map.insert(std::make_pair(from, to));
    }

    std::wifstream outfile;
    outfile.open("source.txt");
    if (outfile.is_open()) {
        std::cout << "opened source file";
    }

    std::wstring id;
    std::wstring name;
    while (outfile >> id >> name) {
        std::ofstream outputfile;
        outputfile.open(id + L".txt");
        for (wchar_t c : name)  outputfile << map[c]; 
    }

    system("pause");

    return 0;
}

我相信您使用了错误的类型c在迭代中使用name. As c用作地图的键,并且name is a wstring,你应该使用:

for (wchar_t c : name)  outputfile << map[c]; 

代替:

for (char c : name)  outputfile << map[c]; 

不是吗?

希望这会有所帮助,斯特凡诺

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用C++读取UTF-8文件数据? 的相关文章

  • 生成一定范围内的 N 个随机数,其总和为常数

    我想生成从 a b 之间的特定分布 例如均匀随机 抽取的 N 个随机数 其总和为常数 C 我尝试了一些我自己能想到的解决方案 以及在类似线程上提出的一些解决方案 但是他们中的大多数要么适用于有限形式的问题 要么我无法证明结果仍然遵循所需的分
  • 使用 解释 gprof 输出

    我试图在我的程序中找到性能问题 从而通过分析来检测代码 gprof 创建一个如下所示的平面配置文件 Flat profile Each sample counts as 0 01 seconds cumulative self self t
  • 隐式转换为“System.IDisposable”错误

    这就是我想做的 private KinectAudioSource CreateAudioSource var source KinectSensor KinectSensors 0 AudioSource source NoiseSupp
  • std::map - 元素访问无异常且无插入

    我有一个使用 std map 的循环模式 我只想在键存在时检索值 否则我不想插入元素 目前我正在使用count key or find key 哪一个更好 从文档来看 复杂性似乎是相同的 如果它们返回一个正值 我就可以访问地图 但是我想避免
  • C++ 相当于 fscanf()?

    请不要说它是 fscanf P 我正在尝试替换这一行 if fscanf fp P c n ch 1 如果我理解正确的话 它会尝试读取 char 并将其存储到 ch 前提是它位于 P 和 n 之间 是对的吗 如果成功 它会返回1 它读取的字
  • 类内枚举前向声明是否可能? [复制]

    这个问题在这里已经有答案了 我知道在 C 11 中可以转发声明枚举类型 如果提供了存储类型 例如 enum E short void foo E e enum E short VALUE 1 VALUE 2 但我想转发声明一个类中定义的枚举
  • 规避模板专业化

    假设我是某个模板库的用户 CTL 它定义了一个模板 命名为 Hector template
  • 分段错误(核心转储)

    当我尝试运行此程序时 出现分段错误 核心转储 它编译完美 但我收到错误 我不知道为什么 我已尝试以所有可能的方式编辑我的代码 但仍然收到此错误 我已经没有主意了 任何帮助都会很棒 谢谢 unsigned short reg NULL int
  • 复制空对象是否涉及访问它

    灵感来自this https stackoverflow com a 48273386 4832499问题 struct E E e E f e Accesses e To access https timsong cpp github i
  • 从包含 n 个元素的向量中随机选择 m 个元素

    我有一个向量包含n元素 我需要选择一个子集m向量中随机出现的元素 不重复 做到这一点最有效的方法是什么 我需要在我的代码中执行此操作数千次 我想到的解决方案是使用rand 生成一个随机数k之间0 and n 然后选择k向量中的第一个元素并将
  • 浮点指令异常——FLDZ故障?

    I am trying to debug the problem I posted earlier here C and pin tool very weird DOUBLE variable issue with IF statement
  • “constexpr”有什么用?

    我实在是找不到它有什么用处 我的第一个想法是我可以用它来实现 按合同设计 而不使用如下宏 struct S S constexpr int i S i static assert i lt 9 i must be lt 9 S int i
  • 无锁“如果不为零则递减”

    我目前正在用 C 重新发明线程池的轮子 我已经消除了代码中的几乎所有锁 除了以下构造的多个实例之外 std atomic size t counter void produce counter void try consume if cou
  • 使用迭代器与索引访问向量元素有什么区别?

    使用迭代器与索引访问向量元素有什么优点 为什么迭代器比索引更好 在索引不可用的情况下 例如 std list 对于 例子 在通用函数接受迭代器的情况下 叫做 编写应该使用的函数模板时 不止一种容器类型 他们的存在是为了创造均匀性在所有容器和
  • 如何从 C 函数中返回多个值?

    如果我有一个产生结果的函数int和一个结果string 如何从函数中返回它们 据我所知 我只能返回一件事 这是由函数名称前面的类型决定的 我不知道你的是什么string是的 但我假设它管理自己的内存 您有两种解决方案 1 返回一个struc
  • C++ 流到内存

    我怎样才能创造std ostream and std istream对象指向我分配和管理的一块内存 我不希望流释放我的内存 我正在考虑使用rdbuf gt pubsetbuf 修改其他流之一 例如sstringstream 不过我认为str
  • 仅仅“抛出”一次捕获有好处吗?

    与一位同事就他将大部分功能包装在 try catch 中的做法进行了 激烈辩论 但 catch 中只有一个 抛出 例如 Private sub foo try Do something catch throw And nothing els
  • 如何在预处理器中检测X32 ABI或环境?

    X32是一个 ABIamd64 x86 64使用 32 位指针的 CPU 这个想法是将 x86 64 的较大寄存器集与 32 位指针产生的较小内存和缓存占用空间结合起来 它可提供高达约 40 的加速 看x86 x32 和 x64 架构之间的
  • C# 替换 Byte[] 中的字节

    替换字节数组中的某些字节的最佳方法是什么 例如我有bytesFromServer listener Receive ref groupEP 我可以做BitConverter ToString bytesFromServer 将其转换为可读格
  • 将 byte[] 作为文件打开,而不先将其实际保存为文件

    打开以 byte 形式存储在数据库中的 Word 文件的最佳方法是什么 我必须将一些文档存储在 Access 数据库中 Word 文件 2003 及更高版本 并存储在严格通过 CD 运行的应用程序上 不幸的是 它们必须位于数据库中 并且不能

随机推荐

  • 我们可以使用 Azure Web App 设置 FTP 站点吗?

    对于 FTP 和 Azure 来说是全新的 所以如果这个问题听起来很愚蠢 请原谅 有没有办法使用 Azure Web App 服务设置 FTP 有可能吗 我试图避免使用带有 IIS 的专用虚拟机来设置 FTP 我所有的搜索结果都是使用 FT
  • 如何在 Node 中发送 OAuth 请求

    我想访问node js中的WS REST API 我有oauth consumer key和oauth token和 API 端点 oauth signature method 是 HMAC SHA1 如何在 Node 中发送 OAuth
  • Reload $(document).ready(function() ajax页面重新加载后

    我有一个通用的js文件 在ajax请求中重新加载html页面后 我无法访问该文件中的函数 即之间的常见JS函数 文档 ready 函数 如何访问它们并触发公共文件中的函数Example 常见的JS document ready functi
  • Qiskit Nature VQE 打印全量子电路

    我正在使用 Qiskit Nature 进行 VQE 我想看看我的最终量子电路是什么样子的 如何打印整个量子电路 如 ansatz 您可以使用construct circuit方法 例如 假设您安装了最新的 Qiskit 版本 from q
  • 示例代码详细说明了 Ada 和 Java 之间的打字差异 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试想一个很好的例子来详细说明 Ada 的严格类型和 Java 的强类型之间的区别 有谁有一个很好的例子来使用基于整数的值来识别
  • R 在列中按分隔符分割字符串

    我有一个包含几行的文件 例如 A B C awer ttp net Code 554 abcd ttp net Code 747 asdf ttp net Part 554 xyz ttp net Part 747 我想使用 R 仅拆分表的
  • 两个同时发生的事件

    我在这个页面上使用了一段JS代码http 200tr ru app admin http 200tr ru app admin 当我按下十字符号时 会发生 2 个事件 模糊和单击 但仅运行模糊代码 我需要反点击交叉代码 我怎样才能做到这一点
  • JS:event.touches 属性如何工作?

    我不明白如何使用 event touches 属性 例如 要获取 iPad iPhone 上的手指数量 您应该使用 event touches length 那么为什么这个示例代码不起作用呢 image bind touchstart fu
  • 如何在 SQL Server 中引用触发器的“新”、“旧”行?

    所以我是 SQLite 的 SQL Server 新手 我习惯使用 New Old 关键字 我看到有些人使用insertedvalue 引用新创建的行 但这仅适用于插入而不适用于更新 我能得到类似的东西吗New我在这个查询中使用 creat
  • 如何在 React-native 中绘制其他应用程序

    我试图在我的 React Native 应用程序中创建类似 Facebook Messenger 的聊天头 我使用平移响应器来创建拖动效果并折叠为副作用 但我无法弄清楚如何使聊天头在其他应用程序或手机主屏幕上可见 我的应用程序包含 SYST
  • 根据类名查找 div id

    我必须根据它的类找到div id 如果div有名为searchItemSelected的类 那么如何获取它的div id div class CheckinWithUserRow1 searchItemSelected style heig
  • Django 的 self.client.login(...) 在单元测试中不起作用

    我通过两种方式为单元测试创 建了用户 1 为 auth user 创建一个固定装置 大致如下所示 pk 1 model auth user fields username homer is active 1 password sha1 72
  • 从外部 webpack 导入(运行时导入)

    这只是我今天想到的 我没有看到很多信息 所以我将分享这个weird案例以及如何我个人解决了它们 如果有更好的方法请评论 但同时这可能会帮助其他人 在 webpack 包中 每个import require你做的 是由 webpack 使用其
  • 如何在 VS Code 中禁用烦人的突出显示

    正如标题所说 我只是想知道如何在 VS Code 中禁用这个烦人的突出显示 当我在括号内输入内容时 我想立即得到建议 但首先我得到一个恼人的突出显示 除非我按 ESC 键 否则它不会消失 正如您在图像中看到的 首先 console log
  • 为什么在 Quick 单元测试中会多次调用 before- 和 afterEach 块?

    我编写了一个测试用例 其中包含一些示例组 包括beforeEach and afterEach 我期望每个beforeEach and afterEach每个都会被调用一次it 唉 对于一个人来说it the beforeEach and
  • Angular 6:HttpHeaders 无法在 Chrome 和 IE11 中读取 null 的属性“长度”(在 Firefox 中则不行)

    在我的Angular6应用程序 我正在使用Http客户端将一些标头注入到我的 htpp 调用中以从我的后端服务器获取数据 我的服务 Injectable export class LoadUserInfosService public he
  • 致命错误:Swift 2.0 不支持与自身交换位置

    我有这个扩展 它将创建一个新数组 其中包含来自给定数组的随机数组组 extension Array var shuffle Element var elements self for index in 0
  • finishAndRemoveTask() 在 API 21 上可用

    我将终止我的应用程序并将其从最近的任务列表中取消 finishAndRemoveTask 仅在 API 21 上可用 我应该在 API 低于 21 时使用什么 向堆栈中的第一个 Activity 发出意图并完成当前 Activity Int
  • 加入列表中除最后 x 之外的所有内容

    我有一个列表 想要加入除最后 2 个条目之外的所有条目 IE x 1 2 3 4 print join x from 0 until 3 那么输出将是1 2 我怎样才能做到这一点 Use slicing https docs python
  • 如何用C++读取UTF-8文件数据?

    我有一个清单IPA https en wikipedia org wiki International Phonetic Alphabet名为 ipa txt 的文本文件中的 UTF 8 符号并为其分配了数字 如何将它与源文件交叉引用 该源