在输出文件中通过类wfstream写入persian(farsi)
Writing persian ( farsi ) by class wfstream in output file
如何使用std::wfstream
将波斯语文本(如"خلیجار")写入文件
我尝试了以下代码,但它不起作用。
#include <iostream>
#include <string>
#include <fstream>
int main()
{
std::wfstream f("D:\test.txt", std::ios::out);
std::wstring s1(L"خلیج فارس");
f << s1.c_str();
f.close();
return 0;
}
运行程序后,文件为空。
您可以使用C++11 utf-8字符串文字和标准的fstream和字符串:
#include <iostream>
#include <fstream>
int main()
{
std::fstream f("D:\test.txt", std::ios::out);
std::string s1(u8"خلیج فارس");
f << s1;
f.close();
return 0;
}
首先你可以离开
f << s1.c_str();
只需使用
f << s1;
要用std::wstream
写"خلیجار",必须为波斯语言环境指定imbue
,如:
f.imbue(std::locale("fa_IR"));
在写入文件之前。
相关文章:
- 写入向量<向量<bool>>
- 如何将内容数组写入文本文件?
- 写入位置0x0000000C时发生访问冲突
- 使用ios:ate写入到流会覆盖现有文件
- 独立读取-修改-写入顺序
- 为什么在某些情况下不写入此文件?
- 用C++将哈希表写入文件并从文件中恢复
- std::当在256字节边界上写入整数时,流的奇怪行为
- 为什么指针不写入类的地址?
- 如何打开并写入一个名称取自C++中字符串的文件
- 如何在C++中从文件中读取/写入多个对象
- 链表中写入访问冲突的未知原因
- 着色器纹理值与创建纹理时写入的值不同
- MESI协议和std::atomic-它是否确保所有写入立即对其他线程可见?
- 在C++中一次将矢量值写入多个文件
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 写入文件会产生一个空文件或根本没有文件
- std::带有自定义缓冲区的 iostream 不允许我写入
- 在 C++ 中使用指针将对象写入文件
- 在输出文件中通过类wfstream写入persian(farsi)