Textdatein



  • Warum geht der Code hier nicht?

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main()
    {
        short var1 = 10, var2 = 0x100;
        outFile << "Emil Maier" << endl;
        outFile << var1 << ' ' << var2 << endl;
    
        return 0;
    }
    

    Wie ist es richtig? Was soll der Code eigentlich genau machen, ist das hier ersichtlich?
    Ich hab überhaupt keine Ahnung von Datein, aber hab den Codeschnippsel hier gefunden, was tut der? Was macht "outFile"?!

    MfG
    Stromberg



  • Der Code kann eigentlich gar nicht funktionieren. Wie auch? outFile ist undefiniert. Da spuckt jeder Compiler einen Error aus.

    Wenn du was per Fstream in Dateien schreiben wilslt machs einfach so:

    int main() {
      fstream f;
      f.open("C:/textdatei.txt");
      f<<"Das dürfte jetzt eigentlcih in der Datei stehen."<<endl; //endl Kann auch gegen "\n" ersetzt werden.
      f.Close();
    }
    


  • std::fstream::open kannst du dir sparen, wenn du schon im Konstruktor den Dateinamen angibst. std::fstream::close ebenfalls, da die Funktion automatisch im Destruktor von std::fstream aufgerufen wird.
    operator void* und operator! sind, wie bei allen von std::ios erbenden Klassen, überladen.



  • Und da darf man aber nur "/" wie unter Linux verwenden oder geht "\" auch?
    MfG
    Stromberg



  • Was genau passiert hier:

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main()
    {
        short var1=0x110;
        fstream outFile("D:/Hans.txt");
        outFile << var1 << "\n";
        outFile.close();
    
        return 0;
    }
    

    Was ist "0x110" für ein Rechensystem? Oder ist das Ascii-Code, oder HEX? Weil bei den Ascii-Zeichen http://de.wikipedia.org/wiki/ASCII-Tabelle hab ich des nicht gefunden, und wenns HEX wäre, was soll da dann die "0x"?? Zumindestens kommt am Schluss 256 raus. Aber was ist das jetzt genau?
    MfG
    Stromberg



  • Hallo

    0x110 ist eine Zahl in Hexform. Das 0x ist genau dafür in C/C++ das Symbol.

    bis bald
    akari



  • #include <fstream>
    
    int main()
    {
        std::ofstream file_stream("C:\\Dokumente und Einstellungen\\Hans\\Eigene Dateien\\test.txt");
        short var(0x110);
        file_stream << var << std::endl;
    }
    

    Das öffnet halt die Datei und packt in die in lesbarer Form den Wert von var aus.



  • ÄH und nehm ich jetzt \ oder "//"? Als Trennsymbol?
    MfG
    Stromberg



  • Hallo

    Du kannst unter modernen Windows-System beides verwenden. Alte Windows-Versionen kannten nur den Backslash, Unix nur den Slash.
    Ich empfehle den Slash, um den Stil von URLs gleichzukommen.

    bis bald
    akari


Anmelden zum Antworten