17. oktober 2003 - 14:10
Der er
14 kommentarer og 2 løsninger
int til string
Det må være simpelt, men jeg ´kan simpelt hen ikke finde ud af det! Hvordan får jeg en int til en string?
Annonceindlæg fra Salesforce
17. oktober 2003 - 14:13
#1
jeg kan nævne at jeg skal bruge det til at lave et filnavn a'la nodeid+"id.txt"
17. oktober 2003 - 14:15
#2
Der er flere muligheder. sprintf og itoa hvis det er C char arrays.
17. oktober 2003 - 14:15
#3
Jeg mener der er en inbygget funktion i <stdlib.h> char * itoa(int value)
17. oktober 2003 - 14:18
#4
angak> itoa har 3 argumenter !
17. oktober 2003 - 14:21
#5
itoa eksempel: #include <iostream> #include <string> #include <cstdlib> using namespace std; int main() { int v = 123; char buf[10]; string s = "fil"; s += itoa(v,buf,10); s += ".dat"; cout << s << endl; }
17. oktober 2003 - 14:21
#6
Hmmm... Den var lige gal med hukommelsen... =) Husk at smide et svar!
17. oktober 2003 - 14:34
#7
Samme eksempel i mere C++'sk variant: #include <iostream> #include <string> #include <sstream> using namespace std; int main() { int v = 123; ostringstream fnm; fnm << "fil" << v << ".dat"; cout << fnm.str() << endl; }
17. oktober 2003 - 14:35
#8
str() returnerer en C++ string mens str().c_str() returnerer en C char array.
17. oktober 2003 - 14:35
#9
svar
17. oktober 2003 - 14:37
#10
kompileren kan ikke finde itoa (linux redhat 7.2).
17. oktober 2003 - 14:41
#11
Har du inkluderet stdlib?
17. oktober 2003 - 14:41
#12
itoa er desværre ikke standard. Du kan erstatte itoa med sprintf. NB: Jeg troede iøvrigt at du kørte med string og ikke char array.
17. oktober 2003 - 14:42
#13
Samme eksempel: #include <iostream> #include <string> #include <cstdio> using namespace std; int main() { int v = 123; char buf[10]; sprintf(buf,"%d",v); string s = "fil"; s += buf; s += ".dat"; cout << s << endl; }
17. oktober 2003 - 14:44
#14
arne jeg bruger dit eksempel fra 14:34:25. Kan det passe jeg skal benytte c_str() for senere at kunne åbne en fil med void open( const char *filename, openmode mode ); ?
17. oktober 2003 - 14:47
#15
Ja. Det er jo et C char array. Men c_str() er jo for at komme fra string til char array.
17. oktober 2003 - 14:53
#16
ok Tak begge to
Kurser inden for grundlæggende programmering