Aladdin |
Отправлено: 05.12.2003, 16:55 |
|
Не зарегистрирован
|
Люди добрые, мы сами не местные....
Короче пытаюсь я написать config- файл. Для этого создал текстовый
файл в котором строки начинаются с команды. Далее открываю файл
(открывается и читается оный ОК) и пытаюсь в цикле перебрать все
строки:
char buf[20]
do
{
MyFile.seekg(y);
MyFile.getline(buf,20,'\n');
y=MiFile.tellg();
}
while (buf !="MyCommand");
Ну дык ни фига не получается, программа зацикливается.
Наверное здесь еще надо отлавливать EOF, но как ? (эт второй вопрос) |
|
Admin |
Отправлено: 05.12.2003, 19:06 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Во первых, вот так работает:
CODE |
ifstream MyFile("foo.out");
char buf[20];
do
{
MyFile.getline(buf,20,'\n');
}
while (String(buf) != "MyCommand");
|
Во-вторых, возможно удобней использовать для чтения/записей строк
свойство строк — SaveToFile() LoadFromFile(),
например у компонента ListBox или Memo.
ListBox1->Items->SaveToFile("foo.out");
ListBox1->Items->LoadFromFile("foo.out");
или создаем для этого свой StringList
CODE |
TStringList* Sl = new TStringList();
Sl->Add("cd c:");
Sl->Add("del *.*");
Sl->Add("My Command");
Sl->SaveToFile("c:\\del.bat");
delete Sl; Sl = NULL;
|
и когда надо — считываем строки в него:
(и если надо — помещаем в ListBox)
CODE |
TStringList* Sl = new TStringList();
Sl->LoadFromFile("c:\\del.bat");
ListBox1->Items = Sl;
delete Sl; Sl = NULL;
|
|
|
Aptem |
Отправлено: 07.12.2003, 11:38 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
А я бы использовал TIniFile ! Очень удобная вещь для конфигов.
|
|