PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++: integer to string



fsd
16-06-2002, 16:08
Hallo!

Unter Win32 gibt es ja die Funktion itoa() um eine int zu einem char zu konvertieren. Ich finde die unter Linux aber in keiner include-Datei. Gibt es eine Funktion die das gleiche macht, aber anders heißt?

Danke!
MfG fsd.

tkortkamp
16-06-2002, 16:35
Hallo!

Meinst du das ganze jetzt in C++ oder in C?

In C++ geht das auf jeden Fall sehr einfach mit einem stringstream:


#include <sstream>
#include <iostream>

int main(int argc, char **argv)
{
int integer = 2;

std::stringstream stream;
stream << integer << std::ends;

std::cout << "Integer war: " << integer << std::endl;
std::cout << "Integer ist: " << stream.str() << std::endl;

return 0;
}


In C geht das mit sprintf:


#include <string.h>
#include <stdio.h>

int main(int argc, char **argv)
{
int integer = 2;
char str[10];

sprintf(str, "%i", integer);

printf("Integer war: %i\n", integer);
printf("Integer ist: %s\n", str);

return 0;
}


c ya,
Tobias

anda_skoa
16-06-2002, 16:58
Ich denke es ist besser, die str Variable im C Beispiel länger zu machen.

int ist ungefähr +/-2Mrd. d.h 10 Stellen plus ein Vorzeichen, plus das abschliessende \0
also besser char str[12].

Aber nach dem er eh nach einem Weg in C++ sucht, braucht er sich um das nicht zu kümmern :)
C++ rules :D

Ciao,
_

P.S. hatten wird das diese Woche nicht schon mal?
Edit: ja hier: http://www.mrunix.de/forums/showthread.php?s=&threadid=29437

fsd
16-06-2002, 17:22
Danke!
Und sorry, ich bin erst seit ein paar Tagen hier, deshalb wusste ich nicht, dass die Frage schon getellt wurde. ;-)

MfG fsd.

anda_skoa
16-06-2002, 18:32
Ist im Betreff auch nicht leicht zu erkennen.

Ciao,
_