Класс CStringFileАвтор идеи Frank Driesens. Платформы: VC5/6, NT4, CE 2.11 Однажды меня попросили сделать программку, которая бы фильтровала в
текстовом файле знаки ';' и при этом сохраняла текстовые колонки. Размер
исходного текстового файла был 7 Мб, естевственно я сделал программу,
которая читала файл, обрабатывала его, и создавала новый. Этот пример показывает, как легко можно работать с этим классом (открывать, читать, закрывать...). #include "StringFile.h"
BOOL ReadTextFile(LPCSTR szFile)
{
CStringFile sfText;
CString szLine;
BOOL bReturn = FALSE;
// Открываем исходный файл
if(sfText.Open(szFile))
{
// Считывание всех строк (друг за другом)
while(sfText.GetNextLine(szLine)!=0)
{
printf("%s\r\n",szLine); //и распечатка их
}
sfText.Close(); // Закрываем открытый файл
bReturn = TRUE; //
}
return bReturn;
}
График показывающий зависимость скорости считывания от размера блока:
По графику видно, что оптимальный размер блока при считывании из исходного файла является 2 килобайта. Увеличение размера блока уже не приводит к увеличению скорости работы программы, то есть увеличение скорости возможно уже только путём усовершенствования исходного кода класса. |