Всем привет. Столкнулся сегодня с такой проблемой. Есть 2 компа. На каждом из них полностью одинаковая версия винды.
Есть моя прога, которая создает файл на основе отработанной информации. Убедился, что создаваемый файл различается размером почти 2 раза при поностью идентичных начальных условиях. Вследствие этого на 2м компе программа работает не правильно.
ОТ чего это может зависеть ??
ЗЫ для работы с файлами использую std::fstream
Здравствуйте, R1K0, Вы писали:
RK>Всем привет. Столкнулся сегодня с такой проблемой. Есть 2 компа. На каждом из них полностью одинаковая версия винды.
RK>Есть моя прога, которая создает файл на основе отработанной информации. Убедился, что создаваемый файл различается размером почти 2 раза при поностью идентичных начальных условиях. Вследствие этого на 2м компе программа работает не правильно.
RK>ОТ чего это может зависеть ??
RK>ЗЫ для работы с файлами использую std::fstream
Код "сбора" информации в студию
Здравствуйте, SaZ, Вы писали:
SaZ>Код "сбора" информации в студию
Попробую
Эта функция пишет информацию в файл. Ничего страшного нет — все четко по правилам. Указатель на момент записи не нулевой и не битый. Соответственно проверка на актуальность записи проходит (если строка больше пустой). Какой еще код кинуть — хз, ибо его реально много. Могу пояснить, что файл представляет собой метаинформацию о кэшированных файлах. Думаю идея понятна.
void cCacheSystem::Write( cCacheRecord * val_ )
{
fstream f(_pathToMetaFile.c_str(), ios::binary | ios::app | ios::out);
if (! f.is_open())
printf("");
{
UINT len = val_->fileSize;
f.write((char *) & len, sizeof(UINT));
}
if (val_->ETag.length())
{
UINT len = val_->ETag.length();
f.write((char *) & len, sizeof(UINT));
f.write(val_->ETag.c_str(), len);
}
else
{
UINT len = 0;
f.write((char *) & len, sizeof(UINT));
}
if (val_->url.length())
{
UINT len = val_->url.length();
f.write((char *) & len, sizeof(UINT));
f.write(val_->url.c_str(), len);
}
else
{
UINT len = 0;
f.write((char *) & len, sizeof(UINT));
}
if (val_->fileName.length())
{
UINT len = val_->fileName.length();
f.write((char *) & len, sizeof(UINT));
f.write(val_->fileName.c_str(), len);
}
else
{
UINT len = 0;
f.write((char *) & len, sizeof(UINT));
}
if (val_->fullPathToFile.length())
{
UINT len = val_->fullPathToFile.length();
f.write((char *) & len, sizeof(UINT));
f.write(val_->fullPathToFile.c_str(), len);
}
else
{
UINT len = 0;
f.write((char *) & len, sizeof(UINT));
}
if (val_->lastModified.length())
{
UINT len = val_->lastModified.length();
f.write((char *) & len, sizeof(UINT));
f.write(val_->lastModified.c_str(), len);
}
else
{
UINT len = 0;
f.write((char *) & len, sizeof(UINT));
}
f.close();
}
Здравствуйте, R1K0, Вы писали:
RK>ОТ чего это может зависеть ??
RK>ЗЫ для работы с файлами использую std::fstream
От фазы луны?
Все проблема решена
Как всегда виноват злой понедельник