Преобразование типов в с++. Из int в string

77
29 июля 2021, 03:00

Каким способами можно выполнить преобразование из инта в строку?

На сайте 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;
}

Answer 1

Остается предположить, что в компиляторе не реализована функция 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();
}
Answer 2

Действительно, в моей версии MinGW не было реализации to_string :/ Обновился до 15.0, и всё работает

READ ALSO
Ссылка на вектор теряется по пути

Ссылка на вектор теряется по пути

У меня естьh файл в котором описан всего один класс Worker:

175
Замена слово/значение в текстовом файле

Замена слово/значение в текстовом файле

Cтолкнулся с такой проблемой,мне необходимо изменить значение в строке(которую находит с помощью ключа)Проблема в том, что мне неизвестно...

285