Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt,Windows] QPair to QString, Как перевести QPair в QString 
V
    Опции темы
dix75
Дата 22.1.2010, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



Добрый день!

Мне нужно пару QPair<QString,QString> вывести в QString и внести обратно.

Пытался так.
Код

QPair<QString, QString> pair = {"1","2"};
QDataStream s;
s<<pair;


Но так понятное дело не фурычит.


--------------------
save your mind
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Код

QPair<QString, QString> pair = {"1","2"};
QDataStream s;
s<<pair.first << pair.second;



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 22.1.2010, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Либо выкиньте свой компилятор, либо пытайтесь компилировать свой код прежде чем выкладывать на форуме:

Код

in C++98 'pair' must be initialized by constructor, not by '{...}'


Код

QPair <QString, QString> pair("Hello", "World");
...
s << pair;



--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(SABROG @  22.1.2010,  09:58 Найти цитируемый пост)
Либо выкиньте свой компилятор, либо пытайтесь компилировать свой код прежде чем выкладывать на форуме:

вообще-то ты правильно говоришь. но вопрос то не в инициализации.

зы
gcc такой код точно не скомпилит. потому я подумал что это студия.

Добавлено через 2 минуты и 15 секунд
Цитата(dix75 @  22.1.2010,  09:30 Найти цитируемый пост)
QPair<QString, QString> pair = {"1","2"};

ах вот почему не компилилось smile  ступил. жесть.



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
dix75
Дата 22.1.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



Цитата(SABROG @  22.1.2010,  09:58 Найти цитируемый пост)
Либо выкиньте свой компилятор, либо пытайтесь компилировать свой код прежде чем выкладывать на форуме:


Ты не прав у меня все компилится.
А так вообще выводит правильно 
Код

qDebug() <<pair;


Но так почему-то ничего не делает.
Код

s<<pair;


Добавлено через 1 минуту и 46 секунд
Цитата(andrew_121 @  22.1.2010,  10:06 Найти цитируемый пост)
gcc такой код точно не скомпилит. потому я подумал что это студия.

Ну конечно, у меня компилит и без проблем.
Но суть то не в инициализации, а выводе.

Добавлено через 5 минут и 32 секунды
Вообще я пользуюсь ключом  
Код

-std=gnu++0x

И многие вещи из будущего стандарта доступны и в том числе инициализирующий лист.


--------------------
save your mind
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(dix75 @  22.1.2010,  11:20 Найти цитируемый пост)
Ну конечно, у меня компилит и без проблем.

так какой компилятор?
какие типы в паре?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
maxxant
Дата 22.1.2010, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.9.2009

Репутация: 1
Всего: 1



Цитата(dix75 @  22.1.2010,  11:20 Найти цитируемый пост)
А так вообще выводит правильно 
Код

qDebug() <<pair;


Но так почему-то ничего не делает.
Код

s<<pair;




QDataStream & operator<< ( QDataStream & out, const QPair<T1, T2> & pair )

оператор вывода есть, так что остаётся, что QDataStream ни к чему не привязан.
PM MAIL   Вверх
dix75
Дата 22.1.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



Цитата(andrew_121 @  22.1.2010,  11:27 Найти цитируемый пост)
так какой компилятор?

gcc 4.4 идет вместе с qt 4.6
IDE Netbeans

Цитата(andrew_121 @  22.1.2010,  11:27 Найти цитируемый пост)
какие типы в паре?

Цитата(dix75 @  22.1.2010,  09:30 Найти цитируемый пост)
QPair<QString, QString> pair = {"1","2"};


Цитата(maxxant @  22.1.2010,  11:28 Найти цитируемый пост)
QDataStream & operator<< ( QDataStream & out, const QPair<T1, T2> & pair )

Поэтому я и вывожу 
Цитата(dix75 @  22.1.2010,  09:30 Найти цитируемый пост)
QDataStream s;s<<pair;



Цитата(maxxant @  22.1.2010,  11:28 Найти цитируемый пост)
оператор вывода есть, так что остаётся, что QDataStream ни к чему не привязан.

Вот имеено, мне это и нужно


--------------------
save your mind
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(dix75 @  22.1.2010,  11:34 Найти цитируемый пост)
Вот имеено, мне это и нужно 

так QDataStream это же не std::stringstream
укажи объект ввода-вывода


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
dix75
Дата 22.1.2010, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



Цитата(andrew_121 @  22.1.2010,  11:53 Найти цитируемый пост)
так QDataStream это же не std::stringstreamукажи объект ввода-вывода

Это я знаю.
Мне необходимо из пары в строку переделать и не важно как.


--------------------
save your mind
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



все значения пары, типа QString. чем плюс не подходит?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
dix75
Дата 22.1.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



Цитата(andrew_121 @  22.1.2010,  12:42 Найти цитируемый пост)
все значения пары, типа QString. чем плюс не подходит?

Ну потом её парсить придется.
Мне просто хотелось пару сохранить в строку и извлечь обратно.
В одно действие (может быть есть)




--------------------
save your mind
PM MAIL   Вверх
andrew_121
Дата 22.1.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



такого нет по умолчанию.
перегрузи операторы << и >>


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
dix75
Дата 22.1.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: 1
Всего: 1



andrew_121, 
да вот на этом варианте тоже остановился
Спасибо


--------------------
save your mind
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.