/** * 爲了能讓3ds max 的打包zip程序可以讀取txt列表文件. * 必需要能寫入utf-8帶BOM的txt文件. * 關鍵代碼是用wstring_convert把wstring轉成string * 以前試過wfstream , 直接就無法寫入中文 * 調用的命令行: * "D:\Program Files\Autodesk\3ds Max 2014\maxzip" "D:\\Temp\\2.zip" @"D:\\Temp\\test.txt" * 經測試 可行 */ #include "pch.h" #include <iostream> #include <fstream> #include <string> #include <codecvt> using namespace std; int main() { std::wstring str = L"C:\\Users\\itkdq\\Desktop\\心電\\xindian13\\map\\guiziP5080366.jpg"; std::wstring_convert<std::codecvt_utf8<wchar_t>> conv; std::string narrowStr = conv.to_bytes(str); { std::ofstream ofs("d:\\Temp\\test.txt"); //文件是utf8編碼 char c1 = 0xEF;// 仿utf-8 BOM頭 三字節 char c2 = 0xBB; char c3 = 0xBF; ofs << c1 << c2 << c3; ofs << narrowStr; } }