Поиск строки в файле

 
0
 
C++
ava
AlexxxMksv | 02.10.2013, 09:25
Помогите закончить проект (Работаю VC++. MFC)
моя прога сначала читает файл xls И заносить в массив типа CString ObjectMassiv.
Потом читаю файл txt и заношу весь его в буфер BuffFile типа char с динамически выделенной памятью.\
осталось мне написать код который бы выполнял поиск каждого значения массив типа CString в в буфере типа char.
Помогите.

Код на кнопке:


if(!app.CreateDispatch(_T("Excel.Application"))) //запустить сервер
    {
        AfxMessageBox(_T("Ошибка при старте Excel!"));
        return;
    }
    else
    app.put_Visible(FALSE); //и сделать его Невидимым
    CWorkbooks oBooks;
    CWorkbook oBook;
    CWorksheets oSheets;
    CWorksheet oSheet;
    CRange oRange1; 
    oBooks = app.get_Workbooks();
    COleVariant  covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
    COleVariant covTrue((short)TRUE, VT_BOOL), covFalse((short)FALSE, VT_BOOL);
    COleVariant covBOOL((short)FALSE, VT_BOOL);
    try
        {
            //CString m_Text;   // создание стандартной панели выбора файла Open
            CFileDialog DlgOpen(TRUE,(LPCSTR)"xls",NULL,
            OFN_HIDEREADONLY,(LPCSTR)" Text Files (*.xls) |*.xls||"); 
            // отображение стандартной панели выбора файла Open
            if(DlgOpen.DoModal()==IDOK) 
            {   // создание объекта и открытие файла для чтения
                    oBooks.Open(DlgOpen.GetPathName(),
                    covOptional, covOptional, covOptional, covOptional, covOptional,
                    covOptional, covOptional, covOptional, covOptional, covOptional,
                    covOptional, covOptional, covOptional, covOptional );
            }
        }
        catch (...)
        {
            MessageBox("Ошибка при открытии файла Excel","Ошибка", MB_OK);
            return;
        }   
    oBook= oBooks.get_Item(COleVariant(long(1)));
    oSheets = oBook.get_Worksheets();
    oSheet=oSheets.get_Item(COleVariant(long(1)));
    oRange1 = oSheet.get_Range(COleVariant(_T("A1")),COleVariant(_T("A100")));
    COleSafeArray ObjectMask(oRange1.get_Value(covOptional));
    COleVariant vData;
    long iRows;
    ObjectMask.GetUBound(1, &iRows);
    long index[2];
    int i = 1;
    index[1]=1;
    CString ObjectMassiv[100];
    for (int rowCounter = 1; rowCounter <= iRows; rowCounter++) {
            index[0]=rowCounter;
            ObjectMask.GetElement(index,vData);
            CString szdata(vData);
            ObjectMassiv[rowCounter-1] = szdata;
    }   
    oBook.Close(covFalse, covOptional, covOptional); 
    oBook.ReleaseDispatch(); 
    oBooks.Close(); 
    oBooks.ReleaseDispatch();


//--------------------------чтение----------------------------------

//--------------------------поиск----------------------------------


CFileDialog DlgOpen1(TRUE,(LPCSTR)"txt",NULL, OFN_HIDEREADONLY,(LPCSTR)" Text Files (*.txt) |*.txt||"); 
DlgOpen1.DoModal();

char *BuffFile = NULL;

size_t dwLength;


try
{    

    CFile myFile(DlgOpen1.GetPathName(),CFile::modeRead|CFile::typeBinary);
    dwLength = myFile.GetLength();
    BuffFile = new char[dwLength];
    myFile.Read(BuffFile, dwLength);


}
catch (CFileException* pEx)
{
    AfxMessageBox("Файл не выбран");
   pEx->Delete();
}
catch(CMemoryException* pEx)
{
   pEx->ReportError();
   pEx->Delete();
   AfxAbort();
}

if (BuffFile!=NULL)
{
   delete BuffFile;
   BuffFile = nullptr;
}
Comments (1)
ava
AlexxxMksv | 02.10.2013, 11:17 #
ответ найден!
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit