Problem mit String (kann mid nicht finden)



  • case ID_FILE_SAVE_AS :
    int convert
    			{
    			//Dialog zum Speichern aufrufen
    			InitDateimenueSave(&Programminfo,&DateiMenue,ismakroprojekt);
    			DateiMenue.lpstrFile = Programminfo.Datei.FileName;
    //Programminfo.Datei.FileName sieht wie folgt aus 0x004e1024e "c:/temp.mkr"
    			if(GetSaveFileName(&DateiMenue))
    			{
    				FehlerVar = DateiSpeichern(&Programminfo,DateiMenue,&BlockSpeicherHandle,&VerdrahtungsListenHandle);
    				if (FehlerVar != ok)
    				{
    					FehlerMeldung(FehlerVar,&Programminfo,0);
    					Programminfo.Datei.gespeichert = FALSE;
    					return 0;
    				}
    				else
    					Programminfo.Datei.gespeichert = TRUE;
    
    				string = "Programminfo.Datei.FileName";
                 convert = mid("string",12);		
    
    				ShellExecute(hwnd ,NULL,"C:\\Converter.exe","convert", NULL, SW_HIDE);
    

    mein Problem ist das er mid nicht findet
    also string übernimmt die Werte von Programminfo.Datei.FileName also diesen Wert (0x004e1024e "c:/temp.mkr")
    und convert soll dann den 12 Wert annehmen also ("c:/temp.mkr") da die zahlen davor ja durch mid

    ("string",12)
    

    abgeschnitten werden und nur noch der wert "c:/temp.mkr" drin steht

    Mache ich da bis jetzt etwas verkehrt warum erkennt er mid nicht

    Wie kann ich es noch realisieren das er wenn er es richtig ausgelsen hat dann an der Stelle von ("c:/temp.mkr") dann "c:\\temp.mkr" steht



  • Gibts mid im C++ standard.
    Was auch immer mid sein soll, ich denke du solltest mid(string,12) statt mid("string",12) schreiben.



  • Sehr praktisch bei der Problemlösung ist, das du du uns nicht mal
    mitteilst welchen Datentyp DEIN string hat. 🙄 🙄

    Der Datentyp std::string hat beispielsweise keine mid-Funktion.



  • nur das std::string kein datentyp ist, sondern eine klasse 🙂



  • Firefighter schrieb:

    nur das std::string kein datentyp ist, sondern eine klasse 🙂

    ... und Klassen Typen sind...


Anmelden zum Antworten