Сбой приложения с qtxml

я кодирую функцию, которая читает информацию из XML-файла, используя QtXmlStreamReader, то есть XML-файл

<favorites>
<server>
<ip>127.0.0.1:7777</ip>
<nickname></nickname>
<password></password>
</server>
<server>
<ip>127.1.1.1:7777</ip>
<nickname>bdfjhd</nickname>
<password></password>
</server>
<server>
<ip>125.1.1.1:5445</ip>
<nickname>fdkgfhfhf</nickname>
<password></password>
</server>
</favorites>

и моя функция:

QString FavFile::GetFavListServers()
{
QFile file("favlist.xml");
file.open(QIODevice::ReadOnly);
QXmlStreamReader stream(&file);

QString Ip;
QString Name;
QString Pass;

try
{
while(stream.readNext() && !stream.isEndDocument())
{
if(stream.name() == "server")
{
qDebug() << "server found";

while(stream.readNext() && !stream.isEndElement())
{
if(stream.name() == "ip")
{
Ip = stream.readElementText();
}
if(stream.name() == "nickname")
{
Name = stream.readElementText();
}
if(stream.name() == "password")
{
Pass = stream.readElementText();
}
}
qDebug() << "IP: " + Ip;
}
}
}
catch(QException &ex)
{
qDebug() << "Bug In try";
}

file.close();
}

выход

сервер найден
«IP: 127.0.0.1:7777» сервер найден
«IP: 127.1.1.1:7777» сервер найден
«IP: 125.1.1.1:5445»

Le program s’est terminé subitement. —-> Сбой сообщения

Функция прекрасно возвращает значение, но все время вылетает: $

отладка:

Низший остановился, потому что он получил сигнал от операционной системы.

Название сигнала: SIGSEGV Значение сигнала: Ошибка сегментации

0

Решение

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

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

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

По вопросам рекламы [email protected]