C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Задача: считать из файла текст..., и занести его в TSringList
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);

Вернуться в Вопросы программирования в C++Builder