Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zamienianie typu int na std::string

Ostatnio zmodyfikowano 2010-05-26 18:45
Autor Wiadomość
Patzick
» 2010-05-26 17:50:34
akurat, że mam pod ręką gotowca do podrzucę

dołączasz:
C/C++
#include <sstream>

IntToString

C/C++
string IntToString( int liczba ) {
    int l = liczba;
    ostringstream ss;
    ss << l;
    return ss.str();
}

StringToInt

C/C++
int StringToInt( string tekst ) {
    stringstream konwersja( tekst );
    int liczba;
    konwersja >> liczba;
    return liczba;
};
P-17182
filipesq
Temat założony przez niniejszego użytkownika
» 2010-05-26 17:55:42

main.cpp: In function `std::string IntToString(int)':
main.cpp:13: error: `ostringstream' undeclared (first use this function)
main.cpp:13: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:13: error: expected `;' before "ss"
main.cpp:14: error: `ss' undeclared (first use this function)

main.cpp: In function `int StringToInt(std::string)':
main.cpp:20: error: `stringstream' undeclared (first use this function)

main.cpp:20: error: expected `;' before "konwersja"
main.cpp:22: error: `konwersja' undeclared (first use this function)

make.exe: *** [main.o] Error 1

Wykonanie zakończone
P-17183
Aithne
» 2010-05-26 18:00:36
Jest lepszy gotowiec, nazywa się boost::lexical_cast ;)

Skoro jednak chcesz użyć rozwiązania zaproponowanego przez Patzicka, które ma problemy z wydajnością i sprawdzaniem błędów, to obczaj to ;):
C/C++
#include <sstream>
#include <iostream>

std::string IntToString( int number )
{
    std::ostringstream ss;
    ss << number;
    return ss.str();
}

int StringToInt( const std::string & text )
{
    std::istringstream ss( text );
    int result;
    ss >> result;
    return result;
}

int main()
{
    int foo = StringToInt( "14" );
    std::string str = IntToString( - 21 );
   
    std::cout << foo << ' ' << str << std::endl;
}
P-17184
filipesq
Temat założony przez niniejszego użytkownika
Nie wierzę!!!
» 2010-05-26 18:45:47
Wiem już czemu nie działo!!! Popełniłem błąd początkującego, tak głupi, że wstydzę się o nim napisać, więc zamykam temat.

P.S.
Dzięki za pomoc.
P-17186
1 « 2 »
Poprzednia strona Strona 2 z 2