fopen mit unbekanntem Dateinamen



  • Hallo,
    ich weis grade keine Lösung für mein Problem:

    cs_temp= "\\My Documents\\verladen\\" + cs_eingabe + ".txt";
    	if ((write_file = fopen(cs_temp, "w")))
    	{
    		for (int i=0;i==(m_listbox_1.GetCount());i++)
    		{
    			m_listbox_1.GetText(i,cs_temp);
    			if (fprintf(write_file,"%s\n",cs_temp)>=0) 
    			{
    				MessageBox(_T("String wurde geschrieben"),_T("Erfolgreich"),MB_OK);
    			}
    		}
    	}
    

    und zwar möchte ich eine Datei mittels fopen erstellen die je nach eingabe des Nutzers ihren Namen erhält. Habe ich ja soweit gemacht und in cs_temp gespeichert. Jedoch funktioniert der fopen aufruf wie ich ihn dort geschrieben habe so nich. Hat evtl. jemand eine bessere Methode?
    Liebe Grüße
    Basti



  • sebastian87 schrieb:

    cs_temp= "\\My Documents\\verladen\\" + cs_eingabe + ".txt";
    

    Jedoch funktioniert der fopen aufruf wie ich ihn dort geschrieben habe so nich.

    Ja, weil das kein kopletter Pfad ist und vermutlich passt er auch nicht relativ zum aktuellen Arbeitsverzeichnis.
    Da sollte schon noch der Laufwerksbuchstabe oder eine passende Umgebungsvariable rein (ich weiß die leider nicht auswendig). 😉



  • estartu schrieb:

    sebastian87 schrieb:

    cs_temp= "\\My Documents\\verladen\\" + cs_eingabe + ".txt";
    

    Jedoch funktioniert der fopen aufruf wie ich ihn dort geschrieben habe so nich.

    Ja, weil das kein kopletter Pfad ist und vermutlich passt er auch nicht relativ zum aktuellen Arbeitsverzeichnis.
    Da sollte schon noch der Laufwerksbuchstabe oder eine passende Umgebungsvariable rein (ich weiß die leider nicht auswendig). 😉

    Das akt. Verzeichnis z. B., in dem die exe wohnt, mit:

    TCHAR appName[256];
    GetModuleFileName(NULL, appName, 256);
    

    ach ja, da wird dann Pfad + AppName zurückgeliefert. Also z. B. C:\\TEST\\TEST.EXE

    grüssle 🙂



  • doch, es ist der komplette Pfad, ich arbeite auf einem mobile Device. Es geht ja im endeffekt nur darum, dass

    fopen(cs_temp, "w")
    

    keine Variable mit einem Ordnernamen darin akzeptiert.
    Wenn ich den Code, so wie er oben gepasted wurde compiliere sagt der compiler mir:
    'fopen' : cannot convert parameter 1 from 'class CString' to 'const char *'

    Wenn ich nun aber fopen(_T(cs_temp), "w") mache um die Konvertierung zu gewährleisten, sagt er mir 'Lcs_temp' : undeclared identifier
    Ich weis nicht mehr wie ich dem sonst sagen soll welche datei er öffnen soll 😞
    Hat jemand ne gute Idee?
    Danke im Voraus 🙂
    Basti



  • ok, ich hab jetz mal statt _T ein T2A davorgesetzt... zumindest compiliert er jetzt.


Anmelden zum Antworten