Skip to content
Snippets Groups Projects
Commit beb74c78 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Provide possibility to write GUI projects to directories containing non-ascii chars.

parent a8069699
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "boost_streams.h" #include "boost_streams.h"
#endif #endif
#include <fstream> #include <fstream>
#include "FileSystemUtils.h"
OutputDataReader::OutputDataReader(const std::string& file_name) OutputDataReader::OutputDataReader(const std::string& file_name)
: m_file_name(file_name) : m_file_name(file_name)
...@@ -41,7 +42,12 @@ OutputData<double>* OutputDataReader::getOutputData() ...@@ -41,7 +42,12 @@ OutputData<double>* OutputDataReader::getOutputData()
if(isTiffFile(m_file_name) || isCompressed(m_file_name)) if(isTiffFile(m_file_name) || isCompressed(m_file_name))
openmode = std::ios::in | std::ios_base::binary; openmode = std::ios::in | std::ios_base::binary;
fin.open(m_file_name.c_str(), openmode ); #ifdef _WIN32
fin.open(FileSystemUtils::convert_utf8_to_utf16(m_file_name), openmode);
#else
fin.open(m_file_name, openmode);
#endif
if(!fin.is_open()) if(!fin.is_open())
throw Exceptions::FileNotIsOpenException( throw Exceptions::FileNotIsOpenException(
"OutputDataReader::getOutputData() -> Error. Can't open file '" "OutputDataReader::getOutputData() -> Error. Can't open file '"
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "boost_streams.h" #include "boost_streams.h"
#endif #endif
#include <fstream> #include <fstream>
#include "FileSystemUtils.h"
OutputDataWriter::OutputDataWriter(const std::string& file_name) OutputDataWriter::OutputDataWriter(const std::string& file_name)
: m_file_name(file_name) : m_file_name(file_name)
...@@ -36,13 +37,18 @@ void OutputDataWriter::writeOutputData(const OutputData<double>& data) ...@@ -36,13 +37,18 @@ void OutputDataWriter::writeOutputData(const OutputData<double>& data)
if(!m_write_strategy) if(!m_write_strategy)
throw Exceptions::NullPointerException("OutputDataWriter::getOutputData() ->" throw Exceptions::NullPointerException("OutputDataWriter::getOutputData() ->"
" Error! No read strategy defined"); " Error! No read strategy defined");
std::ofstream fout; std::ofstream fout;
std::ios_base::openmode openmode = std::ios::out; std::ios_base::openmode openmode = std::ios::out;
if(isTiffFile(m_file_name) || isCompressed(m_file_name)) if(isTiffFile(m_file_name) || isCompressed(m_file_name))
openmode = std::ios::out | std::ios_base::binary; openmode = std::ios::out | std::ios_base::binary;
#ifdef _WIN32
fout.open(FileSystemUtils::convert_utf8_to_utf16(m_file_name), openmode);
#else
fout.open(m_file_name, openmode);
#endif
fout.open(m_file_name.c_str(), openmode );
if(!fout.is_open()) if(!fout.is_open())
throw Exceptions::FileNotIsOpenException("OutputDataWriter::writeOutputData() -> Error. " throw Exceptions::FileNotIsOpenException("OutputDataWriter::writeOutputData() -> Error. "
"Can't open file '"+m_file_name+"' for writing."); "Can't open file '"+m_file_name+"' for writing.");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment