ultimatepp/autotest/FileMapping/FileMapping.cpp
2024-04-10 11:21:12 +02:00

43 lines
645 B
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
String test;
for(int i = 0; i < 10000; i++)
test << i << " " << i * 12345678 << "\n";
int sz = test.GetCount();
DUMP(sz);
String path = GetHomeDirFile("mapped");
// SaveFile(path, String('0', sz));
{
FileMapping m;
m.Create(path, sz);
memcpy(m.Map(), ~test, sz);
}
ASSERT(LoadFile(path) == test);
{
FileMapping m(path);
ASSERT(memcmp(m.Map(), ~test, sz) == 0);
}
{
FileMapping m(path);
for(int i = 0; i < sz; i++)
ASSERT(*m.Map(i, 1) == test[i]);
}
DeleteFile(path);
LOG("============ OK");
}