Hilfe #3
-
Hallo liebe Community
Ich habe ein kleine Problem ich arbeite derzeit an einem kleine hobbyprojekt scheitere jedoch schon gleich am Anfang....
Ich versuche unten eine mp3 apzuspielen funktioniert auch alles einwandfrei, jedoch möchte ich nicht mehr "file.mp3" schreiben müssen sondern es über mehrer vars abfrühstücken. Dort liegt aber leider auch das Problem...
char *audio = hallo + end;
funktioniert nicht
das end wird immer als falsch makiert. Mittlerweile ist mir dann auch wieder eingefallen das man zeiger ja garnicht addieren kann aber auch leider keine konvertierungs Funktion von char* nach string vorhande ist
gibt es eine oder seht ihr eine ander lösung für mein Problem
#include "iostream" #include "string" #include <windows.h> #include <stdio.h> #pragma comment(lib,"winmm.lib") using namespace std; BOOL play(char *name) { PlaySound(name, NULL, SND_FILENAME | SND_ASYNC); return 0; } int main() { char *hallo = "hallo"; char *end = ".wav"; char *audio = hallo + end; // Fehler liegt bei end play(audio); getchar(); system("pause"); return 0; }
Und bitte keine Kommentare wegen dem
system("pause");
, das ist nur vorübergehend für mich xD
-
Hallo,
also char Arrays verketten kannst du mit strcat(). Das Ziel-Array muss dabei aber schon ausreichend Speicher angefordert haben, um die Gesamtgröße der Zeichen unterzubringen.
Um deine char Pointer in Strings zu wandeln, kann man einfach das machen:
#include <string> char *MyChars = "Hier steht etwas..." std::string MyString = MyChars;