Так что я немного озадачен этим, я не могу точно определить, что происходит с моим файлом. Я должен отметить, что я просто портировал это на Windows, и это работает правильно и, как ожидалось, в Mac OS X.ifstream - это дублирование данных в файле
В основном, моя проблема в том, что мой ifstream, похоже, дважды копирует хвостовую часть входного файла, когда . читать его в Например, если мой вход был:
Daisy, Daisy, give me your answer, do,
I'm half crazy all for the love of you.
It won't be a stylish marriage,
I can't afford a carriage,
But you'd look sweet upon the seat
Of a bicycle built for two.
ifstream будет читать следующим образом:
Daisy, Daisy, give me your answer, do,
I'm half crazy all for the love of you.
It won't be a stylish marriage,
I can't afford a carriage,
But you'd look sweet upon the seat
Of a bicycle built for two.
I can't afford a carriage,
But you'd look sweet upon the seat
Of a bicycle built for two.
Это код в вопросе:
std::ifstream initialResults(inputFileLocation.toStdString().c_str());
std::string fileInMemory;
initialResults.seekg(0,initialResults.end);
fileInMemory.resize(initialResults.tellg());
initialResults.seekg(0,initialResults.beg);
initialResults.read(&fileInMemory[0],fileInMemory.size());
initialResults.close
//Printing here, the file in memory already contains the duplicate entries
std::cout << fileInMemory << "\n";
Я совсем не уверен, что вызывает подобное поведение. Я не очень хорошо знаком с разработкой в Windows, противоположной Mac, и учитывая, что программа идентична, но все же производит эти разные результаты, я собираюсь выйти на конечность и сказать, что это нечто особенное. Возможно, разница в функции вызывает конец и прошу? Но я не могу себе представить, почему он будет восстанавливать хвостовую часть файла. Да, я проверил файл, и в нем нет дубликата.
Я продублировал ваш код здесь, используя строковый поток, но я не могу найти ничего, что вы сделали неправильно. (За исключением того, что вам не хватает скобки для 'initialResults.close'. - http://coliru.stacked-crooked.com/view?id=6ceb16d94b83b843bd3796ffb9d2a10d-b54d854fe598111a256b22e5ef8b561f – 0x499602D2