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;
    

Log in to reply