[Source]


// ----------------------------------------------------------------------------
//
// VDream Component Suite version 8.0
//
// http://www.gilgil.net
//
// Copyright (c) Gilbert Lee All rights reserved
//
// ----------------------------------------------------------------------------

#include <QUrl>
#include <QDebug>

void debug(QUrl& url)
{
  qDebug("---------------------------------");
  qDebug() << url;
  qDebug("---------------------------------");
  qDebug() << "authority           =" << url.authority();
  qDebug() << "fragment            =" << url.fragment();
  qDebug() << "hasFragment         =" << url.hasFragment();
  qDebug() << "hasQuery            =" << url.hasQuery();
  if (url.hasQuery())
  {
    QList<QPair<QString, QString>> items = url.queryItems();
    for(QList<QPair<QString, QString>>::iterator it = items.begin(); it != items.end(); it++)
    {
      QPair<QString, QString> item = *it;
      qDebug() << "  item : " << item.first << item.second;
    }
  }
  qDebug() << "host                =" << url.host();
  qDebug() << "isEmpty             =" << url.isEmpty();
  qDebug() << "isRelative          =" << url.isRelative();
  qDebug() << "isValid             =" << url.isValid();
  qDebug() << "password            =" << url.password();
  qDebug() << "path                =" << url.path();
  qDebug() << "port                =" << url.port();
  qDebug() << "queryPairDelimiter  =" << url.queryPairDelimiter();
  qDebug() << "queryValueDelimiter =" << url.queryValueDelimiter();
  qDebug() << "scheme              =" << url.scheme();
  qDebug() << "toLocalFile         =" << url.toLocalFile();
  qDebug() << "userInfo            =" << url.userInfo();
  qDebug() << "userName            =" << url.userName();
  qDebug() << "";
}

int main(int argc, char* argv[])
{
  QUrl url;
  if (argc > 1)
  {
    for (int i = 1; i < argc; i++)
    {
      url = argv[i];
      debug(url);
    }
  } else
  {
    url = "http://root:1234@www.gilgil.net:80/foo.cgi?param=qna#99";
    debug(url);
    url = "file://c://windows//test.ini#coordination";
    debug(url);
  }
}




[Result]


---------------------------------

 QUrl("http://root:1234@www.gilgil.net:80/foo.cgi?param=qna#99" )

---------------------------------

authority           = "root:1234@www.gilgil.net:80"

fragment            = "99"

hasFragment         = true

hasQuery            = true

  item :  "param" "qna"

host                = "www.gilgil.net"

isEmpty             = false

isRelative          = false

isValid             = true

password            = "1234"

path                = "/foo.cgi"

port                = 80

queryPairDelimiter  = &

queryValueDelimiter = =

scheme              = "http"

toLocalFile         = ""

userInfo            = "root:1234"

userName            = "root"


---------------------------------

 QUrl("file://c//windows//test.ini#coordination" )

---------------------------------

authority           = "c"

fragment            = "coordination"

hasFragment         = true

hasQuery            = false

host                = "c"

isEmpty             = false

isRelative          = false

isValid             = true

password            = ""

path                = "//windows//test.ini"

port                = -1

queryPairDelimiter  = &

queryValueDelimiter = =

scheme              = "file"

toLocalFile         = "//c//windows//test.ini"

userInfo            = ""

userName            = ""