И все-таки на переполнение индекса массива надо проверять.
Еще всегда проверять что файл реально открылся.
OemToChar(s,s) - на не-юникоде вроде допустимо. Но: строка должна кончаться нулем. А всегда ли есть нулевой символ в считанном файле? Лучше на это тоже не расчитывать и нолик в конец добавить.
нужно открывать файл в котором лежит типа
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;
> access violation наверняка будет если в строке больше 6 раз > встретится ';' да нет , в том то и дело что не может этого быть... все файлы стандартные... выгружаются из досовской проги..
пробовал делать st1[255], все пофиг... раз 10 отрабатывает потом access violation...
И все-таки на переполнение индекса массива надо проверять.02.02.05 18:32 Автор: ukv Статус: Незарегистрированный пользователь
И все-таки на переполнение индекса массива надо проверять.
Еще всегда проверять что файл реально открылся.
OemToChar(s,s) - на не-юникоде вроде допустимо. Но: строка должна кончаться нулем. А всегда ли есть нулевой символ в считанном файле? Лучше на это тоже не расчитывать и нолик в конец добавить.
вобщем вопрос решился... надо было обнулять Buffer... delete...03.02.05 10:15 Автор: Duke Статус: Незарегистрированный пользователь