Russian Qt Forum

Qt => Общие вопросы => Тема начата: Alex Custov от Февраль 17, 2017, 17:21



Название: А почему url1 != url2 ??
Отправлено: Alex Custov от Февраль 17, 2017, 17:21
Код
C++ (Qt)
   QUrl url1("http://www.yandex.ru/");
   QUrl url2("http://www.yandex.ru");
 
   qDebug() << url1.matches(url2, QUrl::FullyEncoded|QUrl::StripTrailingSlash);

Цитировать
false


Название: Re: А почему url1 != url2 ??
Отправлено: Bepec от Февраль 17, 2017, 18:03
Кэптен очевидность на связи - там слеш в конце.
Но если вы добавите QUrl::fromUserInput, строчки должны стать одинаковыми :D


Название: Re: А почему url1 != url2 ??
Отправлено: Alex Custov от Февраль 17, 2017, 18:15
Кэптен очевидность на связи - там слеш в конце.

Поэтому я указал QUrl::StripTrailingSlash


Название: Re: А почему url1 != url2 ??
Отправлено: qate от Февраль 17, 2017, 18:39
гы, true )

    QUrl url1("http://www.yandex.ru/");
    QUrl url2("http://www.yandex.ru////");

багрепорт по ним плачет


Название: Re: А почему url1 != url2 ??
Отправлено: Alex Custov от Февраль 17, 2017, 19:52
гы, true )

какая версия Qt? Я проверял на 5.5.1 и 5.8.0


Название: Re: А почему url1 != url2 ??
Отправлено: qate от Февраль 17, 2017, 20:17
5.6.1


Название: Re: А почему url1 != url2 ??
Отправлено: Авварон от Февраль 17, 2017, 21:20
Потому что / это путь на сервере, кмк


Название: Re: А почему url1 != url2 ??
Отправлено: qate от Февраль 18, 2017, 10:26
Потому что / это путь на сервере, кмк


и все они разные ?


Название: Re: А почему url1 != url2 ??
Отправлено: Авварон от Февраль 18, 2017, 19:08
"/" != ""


Название: Re: А почему url1 != url2 ??
Отправлено: Alex Custov от Февраль 20, 2017, 13:42
"/" != ""

Я это понимаю, для моего случая это неважно. Поэтому я указал опцию strip. Оказывается она ещё на разных версиях по-разному работает.


Название: Re: А почему url1 != url2 ??
Отправлено: Авварон от Февраль 20, 2017, 15:28
Код:
"/folder/" == "/folder"
"/folder////" == "/folder"
"////" == "/"
"/" != ""

А так, имеет смысл глянуть в сторону QUrl::RemovePath