string nach const char nach char array



  • Ahhh ich danke dir.Du hast mich beruhigt 🙂 👍
    Die Zeile ist eigentlich logich,aber irgendwie fällt mir das nie ein.



  • Soo,jetzt müsste ich da ganze nur noch Linux kompatibel machen.Da ich mich mit Linux überhaupt nicht auskenne geschweigedenn jemals dafür etwas programmiert habe,bräuchte ich dringend Hilfe.

    void CTextdatei::ausgeben()
    {
    	int i=0;
    
    	string name; 
    	int Zeit;
    
    	int j=2;
    
        while (getline(*pIFStream,name))
    	{
    		//Dynamischer Speicher wird angelegt
    		char* dynamischesArray; 
    		char* Puffer=new char[30];
    
            dynamischesArray = new char[name.length()+1];
    
    		copy(name.begin(), name.end(), dynamischesArray);
    		dynamischesArray[name.length()] = '\0';
    
    		Zeit=dynamischesArray[0];
    
    		j=2;
    		for (int i=0;i<30;i++)
    		{
    		//Nur die Adresse(ab Stelle 3) ohne Zeit wird übergeben
    			Puffer[i]=dynamischesArray[j]; 
    			j++;
    		}
    

    Da ich ja die Windows.h datei eingebunden habe,denke ich mal,dass es nicht unter Linux funktionsfähig ist 😉
    Durch was kann ich nun die Funktionen von Windoes durch in Linux enthaltene Funktionen ersetzen?Ist fStream in Linux kompatibel?

    Vielen Dank schonmal für die Mühe 😋



  • Solange Du nur Standardfunktionen genutzt hast ist das ganze automatisch Linuxkompatibel (deshalb "Standard"). Welche Funktionen Du aus windows.h nutzt, musst Du allerdings selbst wissen, bevor man Dir sagen kann wodurch man sie ersetzen könnte. In dem geposteten Abschnitt sehe ich jedenfalls keine WinAPI-Aufrufe.



  • Hatt ausversehen einen Abschnitt vergessen

    ShellExecute(0,"open",Puffer,0,0,SW_SHOWNORMAL); 
    
    		Sleep(Zeit*100);
    
                       //Speicher wird wieder freigegeben
    		delete[] dynamischesArray; 
    		delete[] Puffer;
    

    ShellExecute und Sleep denke ich mal sind nicht kompatibel.Aber ich hab ka,wie ich die ersetzen kann.Außerdem weiß ich nicht, wie ich das Programm nachher so kompilieren kann,dass es keine EXE ist,sondern Etwas,was unter Linux läuft(und das weiß ich leider auch nicht) .


Anmelden zum Antworten