Files
Work/http/PRESCAN.CPP
2024-08-07 09:16:27 -04:00

29 lines
886 B
C++

#include <http/prescan.hpp>
#include <common/string.hpp>
#include <common/openfile.hpp>
#include <common/pview.hpp>
#include <common/filemap.hpp>
#include <bsptree/btree.hpp>
void PreScan::preScan(const String &pathFileName)
{
BTree<PureBYTE> mapToken;
String formatString;
BYTE readByte;
FileHandle writeFile("tokens.txt",FileHandle::Write,FileHandle::ShareRead,FileHandle::Overwrite);
FileHandle scanFile(pathFileName,FileHandle::Read,FileHandle::ShareRead,FileHandle::Open);
if(!scanFile.isOkay())return;
FileMap scanMap(scanFile);
PureViewOfFile scanView(scanMap);
PureVector<PureBYTE> scanBytes;
while(scanView.read(readByte))mapToken.insert(PureBYTE(readByte));
mapToken.treeItems(scanBytes);
for(int itemIndex=0;itemIndex<scanBytes.size();itemIndex++)
{
::sprintf(formatString,"'%c'",(BYTE)scanBytes[itemIndex]);
writeFile.writeLine(formatString);
}
}