Офсетная печать в другой функции
У меня странная проблема. У меня есть две функции, которые обе передаются по ссылке. Однако когда я вызываю вторую функцию, часть первой функции печатается.
Вот первая функция:
void GamePlay::dealDominos(ofstream& outStream, int seed){
for(int i = 0; i < 10; ++i)
{
outStream << "random " << rand() << endl;
}
}
Моя вторая функция:
void GamePlay::findLongestSeq(ofstream& outStream)
{
outStream << toStringSeq(label, maxSeq) << endl;
}
Тем не менее, мой вывод выглядит так:
NEW MAX [ T 0 8 ]
NEW MAX random [ T 0 8 ][ T 8 1 ]
NEW MAX ndom [ T 0 8 ][ T 8 1 ][ T 1 1 ][ T 1 2 ]
NEW MAX dom [ T 0 8 ][ T 8 1 ][ T 1 1 ][ T 1 2 ][ T 2 11 ]
MAX SEQ FOR: dom [ T 0 8 ][ T 8 1 ][ T 1 1 ][ T 1 2 ][ T 2 11 ]
Я не хочу, чтобы слово "random" печаталось между меткой и последовательностью.
Как это исправить?
1 ответ
Похоже, у вас есть два отдельных ofstream
объекты ссылаются на один и тот же базовый файл, что является довольно плохой идеей, если вы не собираетесь выполнять много операций поиска и сбрасывать при каждой записи, чтобы гарантировать, что позиции файла обновляются при каждой записи.