Есть строки вида
2 -58.0
12 -35.0
1 -8.0
у них динамическая длина. Мне нужно вынуть эти два значения как 2 разных переменных первое число как button
, второе как value
(вместе со знаком).
Как мне это сделать? перелистал кучу форумов, как думаете, этот код сойдёт?
int main()
{
string button, value;
string text = s_Text;
stringstream ss;ss.str(text);
ss >> button >> value;
cout << button << endl;
cout << value << endl;
return 0;
}
В качестве подхода решения данной задачи можно использовать ваш код примерно таким образом:
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <utility>
int main()
{
std::string record = "2 -58.0 12 -35.0 1 -8.0";
std::vector<std::pair<std::string, std::string>> v;
std::istringstream is( record );
std::string button, value;
while ( is >> button >> value ) v.emplace_back( button, value );
for ( const auto &p : v ) std::cout << p.first << ": " << p.second << std::endl;
}
Вывод на консоль:
2: -58.0
12: -35.0
1: -8.0
Или можно использовать числовые объекты:
//...
int main()
{
std::string record = "2 -58.0 12 -35.0 1 -8.0";
std::vector<std::pair<int, double>> v;
std::istringstream is( record );
int button;
double value;
while ( is >> button >> value ) v.emplace_back( button, value );
for ( const auto &p : v ) std::cout << p.first << ": " << p.second << std::endl;
}
Вывод на консоль будет таким же, как показано выше
2: -58
12: -35
1: -8
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Что то я окончательно запутался, без помощи не могу разобраться: Пытаюсь прочитать ответ от сервера на get запрос, код простой:
На своем Wordpress-сайте я показываю 2 диаграммы при помощи Google Charts и, к сожалению, на экране мобильных устройств они шире, чем ширина экрана: