Можно использовать короткие имена переменных
Но не для индексов во вложенных циклах.
Вы смотрели QNetworkAccessManager ? Вот примерный и готовый пример, иллюстрирующий использование:
class MyClass : public QObject
{
Q_OBJECT
public:
MyClass();
void fetch();
public slots:
void replyFinished(QNetworkReply*);
private:
QNetworkAccessManager* m_manager;
};
MyClass::MyClass()
{
m_manager = new QNetworkAccessManager(this);
connect(m_manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
}
void MyClass::fetch()
{
m_manager->get(QNetworkRequest(QUrl("http://stackoverflow.com")));
}
void MyClass::replyFinished(QNetworkReply* pReply)
{
QByteArray data=pReply->readAll();
QString str(data);
//process str any way you like!
}
В вашем обработчике для сигнала finished вам будет передан объект QNetworkReply , ответ из которого вы можете прочитать как наследуется от QIODevice . Простой способ сделать это - просто вызвать readAll , чтобы получить QByteArray . Вы можете построить QString из этого QByteArray и делать с ним все, что захотите.
Вы изучали lynx, curl или wget? Раньше мне приходилось получать и анализировать информацию с веб-сайта без доступа к базе данных, и если вы пытаетесь получить динамически отформатированные данные, я считаю, что это был бы самый быстрый способ. Я не специалист по C, но я предполагаю, что есть способ запускать сценарии оболочки и получать данные или, по крайней мере, запускать сценарий и получать вывод из файла после записи в него. В худшем случае вы можете запустить cron и проверить наличие «готовой» строки в конце записанного файла с помощью C, но я сомневаюсь, что это будет необходимо. Я полагаю, это зависит от того, для чего он вам нужен, но если вам просто нужен выходной html страницы, что-то вроде wget, переданного по конвейеру awk или grep, может творить чудеса.
Ответ Пола Диксона, вероятно, лучший подход, но ответ Джесси действительно затрагивает кое-что, о чем стоит упомянуть.
cURL - или, точнее, libcURL - удивительно мощная библиотека. Нет необходимости в выполнении сценариев оболочки и синтаксического анализа вывода, libCURL доступен для C, C ++ и других языков, чем вы можете встряхнуть URL-адрес. Это может быть полезно, если вы выполняете какую-то странную операцию (например, http POST через ssl?), Которую qt не поддерживает.