Как продолжить программу?

Есть несколько файлов, которые мне нужно проанализировать в программе. Но когда я пытаюсь сделать это, моя программа падает. Первая проблема заключается в продолжении программы, когда первый файл заканчивается. Как сделать условие (если есть пустая строка продолжить программу) для этой части кода?

void ParseNodes(char * file, Field * field){
char * str =  new char [125];
fstream nodes;
nodes.open(file);
for (int i = 0; i<4; i++){
nodes.getline(str,125);
}
nodes.getline(str, 125);

{ string *s = new string(str);
int pos = s->find_first_of("1234567890");
s->erase(0,pos-1);
field->SetBlocksCount(atoi(s->c_str()));
delete s;

nodes.getline(str, 125);
s = new string(str);
pos = s->find_first_of("1234567890");
s->erase(0,pos-1);
field->SetTerminalCount(atoi(s->c_str()));
delete s;
nodes.getline(str,125);

while ( nodes.good()){
nodes.getline(str, 125);
cout<<str<<endl;
if(strlen(
s= new string(str);
if (s->find("terminal")==string::npos){
pos = s->find_first_not_of("a1234567890");
field->blocks.push_back(Rect());
field->blocks.back().name = s->substr(0,pos);
s->erase(0,pos);
string*sk= new string(*s);
*sk=sk->substr(2,40);
*sk=sk->substr(sk->find_first_not_of("a1234567890"),5);
//cin.get();
//cout<<s->c_str()<<'/'<<sk->c_str()<<'|'<<atof(sk->c_str())<<endl;
field->blocks.back().SetWidth(atof(sk->c_str()));
pos = s->find_last_not_of("1234567890.");

s->erase(0,pos);

field->blocks.back().SetHeight(atof(s->c_str()));
}

delete s;
} }delete[] str;
nodes.close();
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector