草庐IT

wofstream

全部标签

c++ - 如何使用 C++ 在 Windows 上写入和读取 UTF 16 文件

SO上有很多关于此的问题,但大多数都没有提到将wstring写回文件。例如,我发现这个是为了阅读://openasabytestreamstd::wifstreamfin("/testutf16.txt",std::ios::binary);//applyBOM-sensitiveUTF-16facetfin.imbue(std::locale(fin.getloc(),newstd::codecvt_utf16));//readstd::wstringws;for(wchar_tc;fin.get(c);){std::cout我尝试过类似的写作方式:std::wofstreamwof

c++ - 如何将包含不同语言的 wstring 行写入文件?

我从22个不同语言的文件中分离出不同的部分,并使它们成为一个wstring行,如下所示:wstringwstr_line=L"\"IDS_TOAST_ECOON\",\"ecoModeisturnedOn.\",\"ecoモードをオンにしました。\",\"Režimecojezapnutý.\",\"Økoindstillingeneraktiveret\"..."我用wofstream把wstr_line放到一个文件里,但是这行在日文部分结束了(\"ecomoードをオンニしました。\")。如果我设置wfout.imbue("chs");该行在捷克语部分结束(\"Režimecojez

c++ - 写入 wofstream 会产生异常

我尝试将一些wchar_t*写入文件,但编译程序的命令行输出如下所示。本质上,程序在尝试写入希腊字符串时挂起。el_GR.UTF-8terminatecalledafterthrowinganinstanceof'int'Ακυρώθηκε(coredumped)下面是源代码#include#include#include#includeusingnamespacestd;intmain(intargc,char**argv){printf("%s\n",setlocale(LC_ALL,""));wofstreamf("xxx.txt",ios::out);if(f.is_open(

c++ - std::wostream_iterator

为什么C++中没有std::wostream_iterator?这有什么好的理由吗?#include#include#include#includeintmain(){std::vectormyvec={L"first",L"second"};std::wofstreamf("New.txt");//std::copy(myvec.begin(),myvec.end(),std::wostream_iterator(f));//Error//std::copy(myvec.begin(),myvec.end(),std::ostream_iterator(f));//Errorstd:

c++ - 如何读取 UCS-2 文件?

我正在编写一个程序来获取UCS-2LittleEndian中*.rc文件编码的信息。int_tmain(intargc,_TCHAR*argv[]){wstringcsvLine(wstringsLine);wifstreamfin("en.rc");wofstreamfout("table.csv");wofstreamfout_rm("temp.txt");wstringsLine;fout“en.rc”的第一行是#include但是sLine显示如下:[0]255L'ÿ'[1]254L'þ'[2]35L'#'[3]0[4]105L'i'[5]0[6]110L'n'[7]0[8]9

c++ - Boost C++ 跨平台 (Windows & Mac) std::wstring 序列化

我正在为Windows(使用VisualStudio2008)和Mac(使用GCC)构建的程序中使用BoostC++库实现序列化。该程序在大约30个类中使用宽字符串(std::wstring)。根据平台的不同,当我保存到文件时(通过boost::archive::text_woarchive),宽字符串在输出文件中的表示方式不同。在Windows下保存:H*e*l*l*o**W*o*r*l*d*!*...在MacOSX下保存:H***e***l***l***o******W***o***r***l***d***!***...其中*是NULL字符。当我尝试使用Mac构建读取在Window

c++ - 如何可移植地将 std::wstring 写入文件?

我有一个wstring声明如下://randomwstringstd::wstringstr=L"abcàdëefŸg€hhhhhhhµa";文字将是UTF-8编码的,因为我的源文件是。[编辑:根据MarkRansom的说法,这不一定是这种情况,编译器将决定使用什么编码-让我们假设我从一个编码的文件中读取这个字符串,例如UTF-8]我非常想把它读入文件中(当文本编辑器设置为正确的编码时)abcàdëefŸg€hhhhhhhµa但是ofstream不是很配合(拒绝接受wstring参数),并且wofstream据说需要知道语言环境和编码设置。我只想输出这组字节。一般人是怎么做到的?编辑:

c++ - 如何可移植地将 std::wstring 写入文件?

我有一个wstring声明如下://randomwstringstd::wstringstr=L"abcàdëefŸg€hhhhhhhµa";文字将是UTF-8编码的,因为我的源文件是。[编辑:根据MarkRansom的说法,这不一定是这种情况,编译器将决定使用什么编码-让我们假设我从一个编码的文件中读取这个字符串,例如UTF-8]我非常想把它读入文件中(当文本编辑器设置为正确的编码时)abcàdëefŸg€hhhhhhhµa但是ofstream不是很配合(拒绝接受wstring参数),并且wofstream据说需要知道语言环境和编码设置。我只想输出这组字节。一般人是怎么做到的?编辑:

c++ - 无法将 std::wstring 写入 wofstream

我在Linux系统上使用Qt/C++。我需要转换QLineEdit的文本到std::wstring并将其写入std::wofstream.它适用于ascii字符串,但当我输入任何其他字符(阿拉伯语或乌兹别克语)时,文件中没有任何内容。(文件大小为0字节)。这是我的代码:wofstreamcustomersFile;customersFile.open("./customers.txt");std::wstringws=lne_address_customer->text().toStdWString();customersFileJohnSmith的输出在行编辑中输入的是JohnSmi

c++ - 使用 std::wofstream 写入文件。该文件仍然是空的

我使用VS2008编写了以下程序:#includeintmain(){std::wofstreamfout("myfile");fout当我尝试编译它时,IDE询问我是否想以unicode格式保存我的源文件,我说“是的,请”。然后我运行程序,myfile出现在我的项目文件夹中。我用记事本打开它,文件是空的。我记得记事本只支持ASCII数据。我用写字板打开它,它仍然是空的。最后,我内心的小天才敦促我查看文件大小,毫不奇怪它是0字节。所以我重建并重新运行程序,没有效果。最后,我决定在StackOverflow上向非常聪明的人询问我缺少什么,我在这里:)已编辑:在上述聪明人发表了一些意见后,
12