Integer zu char*
-
Hallo,
Ich bin auf der Suche nach einer Möglichkeit zwei Integerzahlen so zu verarbeiten, dass ich sie in einem String verwenden kann.
Genauergesagt sollen zwei Zahlen Teil eines Dateinamens werden.Ich brauche sie für eine Anschließende Funktion als const char*
Wir versuchten bisher einiges um das zu erreichen. Letzter Ansatz war:
void name(int x, int y) { char str[4]; char str2[4]; sprintf(str, "%d", x); sprintf(str2, "%d", y); string dateiname="Sounds/Systemsounds/"; dateiname+=str; dateiname+=str2; dateiname+=".mp3"; cout << dateiname << endl; char* dateiname_char; strcpy(dateiname_char, dateiname.c_str()); cout << dateiname_char << endl; const char* dateiname_char2 = dateiname_char; cout << dateiname_char2 << endl; play(dateiname_char2); }Das Compiliert zwar, aber wir bekommen beim Aufrufen die Fehlermeldung
Debug Error!
Program: ...
Module: dateiname.exe
File:Rin-Time Check Failure #3 - The variable 'dateiname_charÄ is being used without being defined.
(press Retry....
Als Ausgabe bekomme ich gerade noch das erste cout.
Sounds/Systemsounds/12.mp3Nur dann kommt eben der Fehler, den ich mir nicht erklären kann.
Danke leute.
-
cppthomas schrieb:
Das Compiliert zwar, aber wir bekommen beim Aufrufen die Fehlermeldung
Debug Error!
Program: ...
Module: dateiname.exe
File:Rin-Time Check Failure #3 - The variable 'dateiname_charÄ is being used without being defined.
(press Retry....
Tipp nächstes mal die Fehlermeldung richtig ab.
Nur weil du ein char Pointer erzeugst gibts noch keinen Platz für die chars die du da hin kopieren willst.
Irgendwer darf jetzt noch schreiben was alles C und was C++ ist.
-
Danke.
Problem ist inzwischen auch gelöst :-).
Gruß Thomas