У меня есть следующий код C++ как часть более крупной программы:
/* Open the output streams */
std::ofstream outputFile;
outputFile.open(outputName);
std::ofstream outputFile1;
outputFile1.open(outputName1);
std::ofstream outputFile2;
outputFile2.open(outputName2);
std::cout << outputFile.is_open() << " " << outputFile1.is_open() << " " << outputFile2.is_open() << std::endl;
if (inputFile.is_open() && outputFile.is_open() && outputFile1.is_open() &&
outputFile2.is_open())
...
Предполагается открыть несколько потоков выходных файлов, которые затем, если они все открыты, будут выполнять серию операций, записывающих в каждый из них. Однако программа завершается раньше, потому что потоки никогда не открываются:
0 0 0
Filestream or output streams could not open, ending program!
Переменные outputName — это std::strings, которые, как я думал, разрешены в С++ 11 (у меня включен флаг -std для С++ 11 в моих параметрах компилятора OpenBlocks).
Я не уверен, почему потоки не открываются.
Спасибо.