2009-09-18 7 views
8

So che questa è una domanda noob, ma ho lavorato con Python prima e quando volevi semplicemente accedere a un file .txt, per esempio, tutto quello che dovevi fare era assicurarti che il file txt fosse nella stessa directory. Ho il seguente codice C++ sotto, ma non trova il file Numbers.txt che ho salvato sul mio desktop. Tutto quello che ho nel file è una riga di numeri di tipo double. Tutto quello che voglio fare è trovare la media di tutti i numeri nel file. Il programma funziona bene, ma non stampa correttamente l'output. Dopo aver controllato per vedere cosa sta stampando in uscita semplicemente stampando l'output [0], ho scoperto che il file non sta copiando il suo contenuto nell'array. Qualcuno potrebbe chiarire questo piccolo problema o almeno indicarmi la direzione giusta per un buon tutorial?Dove Visual Studio cerca i file txt durante le operazioni di gestione dei file?

int main() { 
    cout << "Getting File Information..." << endl; 
    ifstream file; 
    char output[100]; 
    //int x; 

    file.open("Numbers.txt", ios::in); // open file 

    cout << "Opened File Successfully ****************" << endl; 
    file >> output;    // empty file contents into output 
    cout << output;    // print out contents of file 
    cout << "Should have printed out results by now" << endl; 
    //file >> x; 

    file.close(); 

    return 0; 
} 

risposta

6

Visual Studio imposta la directory di lavoro su YourProjectDirectory \ Debug \ Bin quando è in esecuzione in modalità di debug. Se il file di testo si trova in YourProjectDirectory, è necessario tenere conto di tale differenza.

Il modo più semplice per farlo è includere i file di testo nel progetto e impostare l'azione di creazione (nella finestra Proprietà) su Contenuto.

+2

Stai parlando di C# o VB.Net non C++ –

+2

Forse la risposta bisogno di qualche rivedere, ho la stessa domanda, ma non ho trovato la sottocartella '\ Bin' sotto' \ debug' su VS2015 . Fortunatamente, il secondo metodo funziona ancora. – Jaege

0

Il percorso di lavoro è la directory di progetto.

+0

Almeno in VS C++ 2005 e 6.0 –

3

Se si sta parlando di eseguire il codice all'interno del debugger di Visual Studio tramite F5 o Debug/Avvio debug, è possibile impostare la directory di lavoro del programma tramite Progetto/< Nome progetto > Directory Proprietà/Configurazione/Debug/Lavoro .

Inserire il file di testo in una directory da qualche parte e impostare la directory di lavoro in modo che punti a tale directory.

+1

Non utilizzare mai un percorso assoluto. Si romperà quando viene spostato su un altro computer. –

+0

L'impostazione Directory di lavoro non è comunque memorizzata nel file di progetto, quindi non è un problema. – RichieHindle

+0

Pensate in questo modo, impostate dir di lavoro in c: \ somedir e posizionate i file di configurazione, spostate il programma altrove non funzionerà * correttamente * –

4

Ho appena avuto lo stesso problema e non ho trovato nessuna di quelle risposte per funzionare. Poi ho ricordato quello che ho imparato molto tempo fa in OOP. Quello che devi fare è prendere quel file di testo sul desktop e trovare la cartella del progetto nei tuoi progetti di studio visivo all'interno dei documenti del tuo computer e mettere il file di testo in quella cartella al di fuori dello studio visivo. Poi in studio visivo sotto file di origine, click destro-> Aggiungi elemento esistente -> (file di testo)

:)

btw ho urtato questa discussione, perché questa discussione ha detto che era una buona idea, e volevo è aggiornato per il gusto di persone che googling la stessa domanda. https://meta.stackexchange.com/questions/125965/is-bumping-old-questions-allowed

+0

Questo non ha assolutamente nulla a che fare con OOP. –

+0

Si bloccheranno e si bruceranno quando l'app verrà messa in produzione. – nicomp

Problemi correlati