Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45

    [C++] Una info sulla libreria <fstream>

    Salve a tutti, se possibile vorrei avere gentilmente un piccolo aiuto con questa libreria...

    Allora,

    myfile.open(esempio.txt) // Crea il file
    myfile<<"Test"; //La riga di testo che vogliamo scrivere

    Se io compilo e salvo sul desktop, il programma principale salva "esempio.txt" sul desktop, e se io volessi cambiare directory che istruzione dovrei usare?
    Ringrazio anticipatamente, buon fine settimana.

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Di solito si esplicita l'intero path.
    codice:
    Su Windows
    std::string filename = "C:/folder/esempio.txt";
    
    su Unix et similia
    std::string filename = "/folder/esempio.txt";
    
    myfile.open(filename.c_str()) // Crea il file
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Ti ringrazio per la risposta, però sembra non funzionare...
    Ecco cosa faccio io,

    ofstream myfile;
    myfile.open ("esempio.txt");
    myfile<<"prova\n";
    std::string filename="C:/Documents and Settings/Xxxx/Documenti/test/esempio.txt";
    myfile.close();

    il compilatore non da errori però il file viene salvato come se quell'istruzione non fosse stata compilata...

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Hai notato che la sequenza di istruzioni tra il mio codice e il tuo è diversa?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    codice:
    ofstream myfile;
    myfile.open ("C:/Documents and Settings/Xxxx/Documenti/test/esempio.txt");
    myfile<<"prova\n";
    myfile.close();
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Risolto, davvero grazie infinite!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Preferisco non aprire un altro topic e usare questo.
    Avrei un altro piccolo problema...
    Come mai se io faccio

    myfile.open("C:/Users/%userprofile%/Desktop/esempio.txt");

    non crea il file, mentre se io al posto di %userprofile% metto il mio nome utente, il compilatore crea il file esempio.txt normalmente... sapreste dirmi perchéi?

    Eppure dal comando esegui di windows, se io scrivo %userprofile%/Desktop/ si apre normalmente il desktop...

    Ringrazio anticipatamente.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' normale dato che la variabile d'ambiente deve essere espansa (lo fa la shell, ma nel programma lo devi fare tu).

    Utilizza la API ExpandEnvironmentStrings

    codice:
    #include <windows.h>
    
    ...
    
    char fnameexp[MAX_PATH]; 
    ExpandEnvironmentStrings("%userprofile%/Desktop/esempio.txt", fnameexp,  MAX_PATH);
    
    ...
    
    myfile.open(fnameexp);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Grazie, voglio complimentarmi con te perché hai sempre la risposta pronta per tutti a tutto, grande

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Di nulla ... ma sono in tanti a dare una mano qui ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.