• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed zmiana inta na string cpp

Object Storage Arubacloud
+1 głos
825 wizyt
pytanie zadane 1 stycznia 2016 w C i C++ przez robert9620 Stary wyjadacz (11,640 p.)
zamknięte 1 stycznia 2016 przez robert9620

Potrzebuje prostej funkcji, czy tam metody, która zmieni mi inta w stringa. Prosiłbym też o podanie koniecznej biblioteki. Próbowałem czegoś takiego :

int wynik = 10;
string liczba = to_string(wynik);

z biblioteką <string>, ale niestety nie działa.

komentarz zamknięcia: Uzyskałem odpowiedź

6 odpowiedzi

+2 głosów
odpowiedź 1 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)
wybrane 1 stycznia 2016 przez robert9620
 
Najlepsza
#include <sstream>

stringstream ss;
int a = 10;
ss<<a;
string str = ss.str();

 

+1 głos
odpowiedź 1 stycznia 2016 przez Michał628496 Pasjonat (17,340 p.)
komentarz 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
nie da się jakoś prościej ? muszę do tego używać znaczniki ?
komentarz 1 stycznia 2016 przez Radfler VIP (101,030 p.)
Przecież takiej funkcji nie ma ani w C ani C++!
komentarz 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
Wydaje mi się (sądząc po komentarzach), że jest w C++ 11.
komentarz 1 stycznia 2016 przez Radfler VIP (101,030 p.)

Funkcja std::to_string jest. Mówiłem o funkcji itoa (tej nie ma).

+1 głos
odpowiedź 1 stycznia 2016 przez Patryk Krajewski Nałogowiec (26,170 p.)
przywrócone 1 stycznia 2016 przez Patryk Krajewski

Możesz użyć funkcji składowej z klasy ostringstream która jest w bibliotece sstream. Przykład:

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
    int liczba = 22;
    ostringstream ss;
    ss << liczba;
    string ciag = ss.str();

    cout << ciag;
}

 

komentarz 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
Na prawdę nie da się prościej ?
+1 głos
odpowiedź 1 stycznia 2016 przez adrian17 Ekspert (344,860 p.)
string liczba = to_string(wynik);

Powinno działać. Jeśli nie działa, albo zapomniałeś o zaznaczeniu w opcjach kompilacji wsparcia C++11, albo (jeśli to zrobiłeś i używasz MinGW), masz starą wersję MinGW.

nie działa.

Nigdy, przenigdy nie pisz po prostu "nie działa". Opisuj, co konkretnie się dzieje.

komentarz 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
Komunikat błędu :

26    41    F:\Pulpit\Programowanie\SPOJ\Flamaster.cpp    [Error] 'to_string' was not declared in this scope

Używam programu dev c++ w wersji 5.5.3. Szukałem w "Narzędzia" -> "Opcje kompilatora", ale tam nie ma  ustawienia wersji c++. Z resztą nic nigdy w tych opcjach nie zmieniałem, a domyślnie chyba nie powinno być problemów ?
komentarz 1 stycznia 2016 przez adrian17 Ekspert (344,860 p.)
Domyślnie niestety obsługa C++11 jest wyłączona. Patrz tutaj: http://stackoverflow.com/a/16951613/2468469
+1 głos
odpowiedź 1 stycznia 2016 przez Radfler VIP (101,030 p.)
edycja 1 stycznia 2016 przez Radfler

Jeżeli nie działa std::to_string (pewnie korzystasz z C::B), to możesz użyć dwóch sposobów:

1. Sposób w stylu C++ to użycie std::ostringstream. Proponuję Ci napisanie takiej funkcji:

#include <sstream>
std::string toString(int value) {
  std::ostringstream ostream;
  ostream << value;
  return ostream.str();
}

// Jeżeli umiesz korzystać z szablonów:
template<typename Type>
  std::string toString(const Type& value) {
    std::ostringstream ostream;
    ostream << value;
    return ostream.str();
  }

2. Sposób w stylu C to użycie std::snprintf:

#include <cstdio>
std::string itoa(int value) {
  char buffer[20]; // bufor o długości 20 bajtów
  std::snprintf(buffer, 20, "%d", value);
  return buffer; // automatyczna konwersja
}

 

+1 głos
odpowiedź 1 stycznia 2016 przez juriiw Gaduła (3,470 p.)

Podobne pytania

+1 głos
3 odpowiedzi 549 wizyt
pytanie zadane 15 czerwca 2019 w C i C++ przez KotLuminos Początkujący (270 p.)
0 głosów
0 odpowiedzi 336 wizyt
0 głosów
1 odpowiedź 285 wizyt
pytanie zadane 22 grudnia 2017 w C i C++ przez niezalogowany

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...