Каким способами можно выполнить преобразование из инта в строку?
На сайте http://ru.cppreference.com пишут про to_string, но у меня компилятор выдает ошибку "'to_string' was not declared in this scope". Хотя заголовок string подключен, а так же включен с+11.
Компилятор: MinGW
#include <vector>
#include <set>
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n; cin >> n;
multiset<int> a;
multiset<int> forCheck;
vector<string> ans;
for(int i = 0; i < n; ++i){
int x; cin >> x;
a.insert(x);
}
for(int i = 0; i < n; ++i)
{
if(forCheck.empty())
{
forCheck.insert(*a.begin());
a.erase(*a.begin());
continue;
}
if(*forCheck.begin() < *a.begin())
{
forCheck.insert(*a.begin());
a.erase(*a.begin());
}
else
{
forCheck.clear();
}
if(forCheck.size() == 3)
{
string s = "";
for(int i: forCheck)
s += to_string(i); // тут!
ans.push_back(s);
forCheck.clear();
}
}
for(string str: ans){
cout << str;
}
return 0;
}
Остается предположить, что в компиляторе не реализована функция to_string
. Ну, так ее недолго и самому написать, например, так:
string to_string(int n)
{
char buf[40];
sprintf(buf,"%d",n);
return buf;
}
Или так:
string to_string(int n)
{
ostringstream ss;
ss << n;
return ss.str();
}
Действительно, в моей версии MinGW не было реализации to_string :/ Обновился до 15.0, и всё работает
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Cтолкнулся с такой проблемой,мне необходимо изменить значение в строке(которую находит с помощью ключа)Проблема в том, что мне неизвестно...