Dmitri |
Отправлено: 18.06.2003, 18:32 |
|
admin@localhost
Группа: Модератор
Сообщений: 110
|
Сабж. Мне надо занести данные из файла в TSringList построчно. Вот, что написал:
CODE |
// Переменная, в которой хранится вся информация, считанная из файла
char *mem=NULL;
// Размер, который необходимо выделить под информацию из файла в памяти
int mem_size=0;
char *filename="";
TStringList *Str=new TStringList();
if(OpenDialog1->Execute()){
filename=OpenDialog1->FileName.c_str();
}
FILE *in;
in=fopen(filename, "rb");
if(in==NULL){
ShowMessage("Ошибка при открытии файла.");
return;
}
fseek(in,0,2);
mem_size=ftell(in);
fseek(in,0,0);
delete mem;
mem=new char[mem_size+1];
mem[mem_size]=0;
if((int)fread(mem,1,mem_size,in)!=mem_size) ShowMessage("Ошибка чтения файла.");
fclose(in);
Str->Clear();
/* int cur=0, last=0, leng=0;
char *temp=new char[1024*64];
for(int i=0;i<mem_size;i++){
if(mem[i]='\n'){
leng=cur-last;
memcpy(temp, mem+last, leng);
Str->Add(temp);
temp[leng]=0;
} */ <- Что писать? Как мне считать текст пока не Enter (\n) и занести его в новую строку в TSringList?
|
|
|
Asher |
Отправлено: 18.06.2003, 18:56 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
A стандартный способ, вроде этого не подойдет?
CODE |
Str->Clear();
Str->LoadFromFile(filename); |
|
|
|