Чтение из файла с использованием fstream портит данные

В Visual Studio 2013 с использованием компилятора VC11 я пытаюсь реализовать автоматическое приращение сборки, по этой причине я пытаюсь прочитать файл ресурсов с информацией о версии с помощью fstream, но проблема заключается в том, что половина загруженного содержимого повреждена, например. китайскими иероглифами, после того как я переписал его обратно в файл.
Я читаю файл так:

        mFile.open(mParams.tFilename.c_str(), std::fstream::in);

if (!mFile.is_open())
{
cerr << "ReadFile:Cannot open file!\n";
return false;
}

string line = "";
mFileContent.clear();
while (getline(mFile, line))
{
mFileContent.push_back(line);
}

И напишите обратно в файл так:

  mFile.open(mParams.tFilename.c_str(), std::fstream::out  std::fstream::trunc);
std::ostream_iterator<std::string> output_iterator(mFile, "\n");
std::copy(mFileContent.begin(), mFileContent.end(), output_iterator);

Но контент выглядит следующим образом (я не мог использовать его в SO в качестве блочной кавычки, потому что тогда я получаю предупреждение (… cannost начать с):
http://pastebin.com/D1J5UfFr

вместо этого:
http://pastebin.com/WL6pGX9A

Но почему именно так? И как я могу это решить?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]