29 lines
886 B
C++
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);
|
|
}
|
|
}
|