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 tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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