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

Zamiana inta na stringa

0 głosów
112 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez Deneverhad Początkujący (350 p.)
edycja 9 stycznia 2018 przez Eryk Andrzejewski

Witam, mam problem z użyciem funkcji zamieniającej inta na stringa:

int string ToString(const int& value)
{
    ostringstream out;
    out << value;
    return out.str();
}

Nie dokońca wiem, jak ona działa, czy mógły ktoś mi z nią pomóc i podać przykład jej zastosowania?

Z góry dziękuję.

komentarz 9 stycznia 2018 przez Eryk Andrzejewski Mędrzec (159,220 p.)
Kod źródłowy proszę wrzucać w bloczek i w jakiś ładny i sensowny sposób go formatować - czyli po prostu dbać o ładne wcięcia i ułożenie klamr.

P.S. Nie bardzo wiem po co przekazujesz wartość typu int jako stałą referencję - przy zmiennych tego typu chyba nie bardzo ma to sens.

Poza tym w nagłówku funkcji masz błąd: int string nazwaFuncji? Podajesz dwa typy?
komentarz 9 stycznia 2018 przez Emil Kob Bywalec (2,640 p.)

@Deneverhad, wykorzystaj tą funkcję http://www.cplusplus.com/reference/cstdlib/itoa/

komentarz 9 stycznia 2018 przez Eryk Andrzejewski Mędrzec (159,220 p.)

Proszę czytać dokładnie:

Convert integer to string (non-standard function)

Po co ma stosować funkcję, która nie należy do standardu języka (czyli możliwe, że jego kompilator jej nie posiada), kiedy istnieje nowsze i wspierane przez standard języka rozwiązanie?

3 odpowiedzi

+3 głosów
odpowiedź 9 stycznia 2018 przez Ehlert Mędrzec (168,400 p.)

Nie możesz po prostu to_string()

komentarz 9 stycznia 2018 przez Eryk Andrzejewski Mędrzec (159,220 p.)

To pytanie, czy stwierdzenie? laugh

komentarz 9 stycznia 2018 przez Ehlert Mędrzec (168,400 p.)
Takie znudzone, retoryczne.
+2 głosów
odpowiedź 9 stycznia 2018 przez Arkadiusz Sikorski Pasjonat (19,320 p.)
edycja 9 stycznia 2018 przez Arkadiusz Sikorski
#include <sstream>
#include <string>


std::string toString(int value)
{
    std::stringstream out;
    out << value; // wrzuca wartosc do strumenia out
    return out.str(); // zwraca aktualna zawartosc strumienia out jako string
}

int main()
{
    std::string first, second, output;
    first = toString(20);
    second = toString(18);
    output = first + second; // output ma teraz wartosc "2018"
    return 0;
}

Chociaż nie ma co wynajdywać koła od nowa; jak napisał Ehlert, użyj std::to_string() zamiast pisać własną funkcję.

No i następnym razem, wrzuć kod w bloczek wink

komentarz 10 stycznia 2018 przez Deneverhad Początkujący (350 p.)
Dziękuje :)
–2 głosów
odpowiedź 9 stycznia 2018 przez mo290103 Obywatel (1,620 p.)

Użyj tego:

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

 

Podobne pytania

0 głosów
2 odpowiedzi 121 wizyt
0 głosów
5 odpowiedzi 270 wizyt
pytanie zadane 13 marca 2016 w C i C++ przez Adam Franz Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 37 wizyt
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

66,513 zapytań

113,278 odpowiedzi

239,907 komentarzy

46,647 pasjonatów

Przeglądających: 210
Pasjonatów: 19 Gości: 191

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...