Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » casten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.12.2006, 15:27 Uhr
~blabla
Gast


Hallo,

ich habe einen string s = "3939";

wie kann ich denn den string in einen integer umwandeln?

mit int zahl = (int)s;

funktioniert es nicht.

gruß blabla
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.12.2006, 15:40 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Das kann man mit stringstream ganz schön machen:

C++:
#include <iostream>
#include <sstream>

template<typename FROM, typename TO>
TO convert(FROM var)
{
        std::stringstream ss;
        TO returnValue;
        ss << var;
        ss >> returnValue;
        return returnValue;

}

int main(int argc, char* argv[])
{
        std::string foo = "123";
        int i = convert<std::string, int>(foo);
        std::cout << i+2 << std::endl;
        return EXIT_SUCCESS;
}

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.12.2006, 15:44 Uhr
~blabla
Gast


ok, dazu müsste ich mir die templates und streams mal anschauen,

habe ich bis jetzt noch nicht gemacht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.12.2006, 15:50 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Mit stringstream schiebst du eigentlich nur Daten hin und her, eigentlich egal, welcher Datentyp. Und templates sind Platzhalter für einsetzbare Datentypen. Der Code, der generiert wird, sieht dann für die Funktion so aus:

C++:
int convert(std::string var)
{
    std::stringstream ss;
    int returnValue;
    ss << var;
    ss >> returnValue;
    return returnValue;
}

Durch das Template wird es flexibler. Auch in der Anwendung
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.12.2006, 17:53 Uhr
Pler
Einer von Vielen
(Operator)


oder einfach atoi()
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.12.2006, 20:22 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


...aus cstdlib
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: