Domanda

So che questo è piuttosto ridicolo, ma io non riesco a ottenere semplice codice C ++ ofstream al lavoro. Potete per favore dirmi che cosa potrebbe essere sbagliato con il seguente codice:

    #include <fstream>

    ...

    ofstream File("C:\temp.txt");

    if(File)
       File << "lolwtf";

L'apertura del ofstream fallisce ogni volta che specificare un percorso assoluto. I percorsi relativi sembra funzionare senza problemi. Sono davvero incerti su ciò che il problema è qui.

È stato utile?

Soluzione

Il percorso non è valido:

"C:\temp.txt"

Il \ fuoriesce il "t" come un carattere di tabulazione orizzontale, in modo che il valore di percorso finisce come:

"C:    emp.txt"

Quello che vuoi è:

"C:\\temp.txt"

o

"C:/temp.txt"

Altri suggerimenti

Il problema è nella stringa, non si sfuggire al backslash.

 ofstream File("C:\\temp.txt");

Anche se la gente di Windows sembrano preferire il carattere non-standard '\' come un separatore di percorso, lo standard '/' funziona perfettamente ed evita fastidiosi problemi come questo.

Quindi, il mio consiglio è quello di attenersi in barre ...

std::ofstream File("C:/temp.txt");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top