Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] а если не уверен? Путь может быть любой... 14.10.02 14:20 Число просмотров: 1218
Автор: ggg <ggg> Статус: Elderman
|
если нет требований по скорости, то что то типа этого
char* path = 0;
char* date = 0;
bool readpath = true;
ifstream f(...);
while(f)
{
__char c;
__f >> c;
__if(readpath)
__{
____if(c==';')
____{
______readpath = false;
______continue;
____};
____if(path)
____{
______unsigned length = strlen(path);
______char* tmp = new char[length+2];
______if(!tmp) break;
______strcpy(tmp, path);
______tmp[length] = c;
______tmp[length+1] = 0;
______delete[] path;
______path = tmp;
____}
____else
____{
______path = new char[2];
______if(!path) break;
______path[0] = c;
______path[1] = 0;
____};
__}
__else
__{
____if(c=='\n')
____{
______//
______// новая пара path - date
______//
______delete[] path;
______path = 0;
______delete[] date;
______date = 0;
______readpath = true;
______continue;
____};
____if(date)
____{
______unsigned length = strlen(date);
______char* tmp = new char[length+2];
______if(!tmp) break;
______strcpy(tmp, date);
______tmp[length] = c;
______tmp[length+1] = 0;
______delete[] date;
______date = tmp;
____}
____else
____{
______date = new char[2];
______if(!date) break;
______date[0] = c;
______date[1] = 0;
____};
__};
};
//
// и возможно ещё одна пара
//
delete[] path;
delete[] date;
|
|
|