У меня есть цикл for (ниже), который должен выводить несколько строк нескольким файлам с использованием wofstream. К сожалению, он создает файл, но не выводит строку в файл. Файлы всегда пусты. Я просмотрел множество подобных вопросов без везения. Любая помощь будет принята с благодарностью. Я на компьютере с Windows 10, используя Visual Studio 2015, чтобы написать приложение UWP.wofstream создает пустой файл C++
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();
}
Вы пробовали 'outFile <<" Hello World ";' просто проверить, что происходит? – tony
Кроме того: почему вы строите строку и записываете строку в 'outFile', а не просто записываете в' outFile'? – Hurkyl
Кроме того, каким образом вы определяете, что файл пуст? Я видел, что это делалось неправильно несколько раз. – Hurkyl