нужно открывать файл в котором лежит типа
1;1;ХХХ;45 08 194515;31.05.2002;ОВД ИВАНОВСКОЕ Г МОСКВА;ИВАНОВ ИВАН ИВАНОВИЧ
и из этого получить массив AnsiString st1[7], соответственно из значений заключенных между ;
я делаю так:
int iFH, iFL, iBR, i, j, ID;
char *Buffer;
AnsiString str, st1[7],subdir,tmpstr;
iFH = FileOpen(FileName, fmOpenRead);
iFL = FileSeek(iFH,0,2);
FileSeek(iFH,0,0);
Buffer = new char[iFL];
iBR = FileRead(iFH, Buffer, iFL);
FileClose(iFH);
OemToChar(Buffer,Buffer);
j=0;
str=EmptyStr;
for (i=0;i<iBR;i++)
{
if(Buffer[i]!=';')
{
str+=Buffer[i];
}
else
{
st1[j]=str;
j++;
str=EmptyStr;
}
}
st1[j]=str;
delete [] Buffer;
вот это все дает access violation после десятка проходов... хз почему... может кто знает как по-другому сделать?
|