使用c++编写带有BOM (Byte Order Mark)的csv文件
Write csv files with Byte Order Mark (BOM) using c++?
我正在尝试使用c++创建一个带有BOM的UTF8的csv文件。有人能告诉我怎么做吗?
只需将BOM放入字符串中并将其写入文件(使用您正在使用的任何方法,例如streams或classic cstdio):
const char *bom = "xefxbbxbf"; // UTF-8
const char *bom_alt = {0xef, 0xbb, 0xbf, 0}; // the null termination is optional, depending on how you write it later on
那么你只需要确保你实际上写的是正确的UTF-8,而不是ANSI或宽字符串。我推荐UTF8-CPP(在工作项目中已经使用它,并且无需使用一些巨大的库,如Boost)。
如果您正在使用Qt库,您可以使用QTextStream::setGenerateByteOrderMark(bool)
来添加BOM。
相关文章:
- Ascending order c++
- 如何处理Boost Spirit X3导致Visual Studio 2019 "static initialization order fiasco"?
- "static initialization order fiasco"是 constexpr 变量的问题吗?
- 在使用 In Order 遍历成员函数时引发异常(堆栈溢出)时出现问题
- 为什么在与静态库链接时强制执行 order(例如 source.cxx -lstatic)
- "The order of evaluation of expressions is left to right."是什么意思
- memory_order_seq_cst操作的"happens before"关系和"precedes in a single total order"关系有什么区别?
- 获取 Mark Sweep 垃圾收集器C++的根
- std::shared_ptr::owner_before 和 std::owner_less:"owner-based order"到底是什么意思?
- C++: The order of std::cout
- 如何在 Java 中模拟'question mark(?)'类型泛型以C++?
- 如何在 std::set 中为 FIND 和 ORDER 定义不同的条件
- C++ 在结构上实现 ORDER BY
- Xcode-在项目导航器中创建新的C++文件-Order.h和.cpp-Order
- CUDA:Mark Harris 的并行缩减样本不就是对每个线程块求和吗?
- Order of cvScalar
- DirectShow and the Canon EOS 5D Mark II
- Xcode C++ Struct Order
- 使用c++编写带有BOM (Byte Order Mark)的csv文件
- "std::map with mutexes"与并行插入、查找、擦除之间是否有任何速度测试"libcds maps (Michael Hashmap and Split Order List)"?