- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 for 循环(如下),它应该使用 wofstream 将几个字符串输出到多个文件。不幸的是,它创建了文件但没有将字符串输出到文件。文件总是空的。我已经看过很多类似的问题但没有运气。任何帮助将不胜感激。我在 Windows 10 机器上使用 Visual Studio 2015 编写 UWP 应用程序。
for (size_t k=0;k < vctSchedulesToReturn.size();k++)
{
auto platformPath = Windows::Storage::ApplicationData::Current->RoamingFolder->Path;
std::wstring wstrplatformPath = platformPath->Data();
std::wstring wstrPlatformPathAndFilename = wstrplatformPath + L"\\" + availabilityData.month + L"_" + std::to_wstring(availabilityData.year) + L"_" + std::to_wstring(k) + L"_" + L"AlertScheduleOut.csv";
std::string convertedPlatformPathandFilename(wstrPlatformPathAndFilename.begin(), wstrPlatformPathAndFilename.end());
std::wofstream outFile(convertedPlatformPathandFilename);
outFile.open(convertedPlatformPathandFilename);
std::vector<std::pair<wstring, wstring>>::iterator pairItr;
std::wstring strScheduleOutputString = L"";
for (pairItr = vctSchedulesToReturn[k].second.begin(); pairItr!=vctSchedulesToReturn[k].second.end(); pairItr++)
{
strScheduleOutputString += pairItr->first + L",";
}
strScheduleOutputString += L"\r\n";
for (pairItr = vctSchedulesToReturn[k].second.begin(); pairItr != vctSchedulesToReturn[k].second.end(); pairItr++)
{
strScheduleOutputString += pairItr->second + L",";
}
outFile << strScheduleOutputString;
outFile.flush();
outFile.close();
}
最佳答案
std::wofstream outFile(convertedPlatformPathandFilename);
这将创建一个新文件,并打开它进行写入。
outFile.open(convertedPlatformPathandFilename);
这会尝试打开同一个文件流进行第二次写入。因为文件流已经打开,所以这是一个错误。该错误将流设置为失败状态,所有写入流的尝试现在都将失败。
这就是您最终得到一个空输出文件的方式。它被创建,并且第二次尝试打开同一个文件流对象时将其置于错误状态。
关于c++ - wofstream 只创建一个空文件 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38405969/
对于下面的代码,是否可以将结果输出为字符串而不是wofstream?谢谢! wstring w = L"test"; std::wofstream ofs("test.txt"); std::loca
我有一个 for 循环(如下),它应该使用 wofstream 将几个字符串输出到多个文件。不幸的是,它创建了文件但没有将字符串输出到文件。文件总是空的。我已经看过很多类似的问题但没有运气。任何帮助将
我尝试将一些 wchar_t* 写入文件,但编译程序的命令行输出如下所示。本质上,程序在尝试写入希腊字符串时挂起。 el_GR.UTF-8 terminate called after throwin
我有一个使用 wstring 变量的简单“加密”函数,我想使用 wofstream 将此函数的结果写入文件。 这是我的代码: void save_file() { wstring text =
我正在从批处理文件编译和链接此源代码,我现在导入的库是 MSVCRT.LIB Kernel32.lib User32.lib 在我包含 string iostream 和 fstream 并创建一些
我使用 VS 2012 编写了这段代码: std::wofstream logout("my_log.txt", std::ios_base::out | std::ios_base::trunc);
在处理不祥的排版撇号 (’) 而不是打字机撇号 (’) 时,我刚刚遇到了一些奇怪的行为。与宽字符串文字一起使用时,撇号会中断 wofstream。 这段代码有效 ofstream file("test
我有宽字符串,我正在将它写入以 out|binary 模式打开的 wofstream。当我查看生成的文件时,它每隔一个字节就丢失了。 我原以为当我使用二进制编辑器在 Visual Studio 中打开
我在 Linux 系统上使用 Qt/C++。我需要转换 QLineEdit的文本到 std::wstring并将其写入 std::wofstream .它适用于 ascii 字符串,但当我输入任何其他
我使用VS2008编写了以下程序: #include int main() { std::wofstream fout("myfile"); fout #include int
我正在将 std::wclog 重定向到一个文件以登录我的程序: std::wclog.rdbuf((new std::wofstream("C:\\path\\to\\file.log", std:
我正在使用宽字符串文件流 std::wofstream 打开文件并读取其内容。我使用了 header fstream。但是当我在 XCode 7 上编译这段代码时,它显示以下错误 No matchin
我有一个 std::wstring,它的大小是 139,580,199 个字符。 为了调试,我使用以下代码将其打印到文件中: std::wofstream f(L"C:\\some file.txt"
最近想在Windows下写一个unicode(UTF-16)的文本文件。 引用http://www.codeproject.com/KB/stl/upgradingstlappstounicode.a
我是一名优秀的程序员,十分优秀!