Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Writing Data to Files

Writing Data to Files

Scheduled Pinned Locked Moved C / C++ / MFC
14 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Sweet Flame

    I changed it so that it reads: hours<

    A Offline
    A Offline
    Anonymous
    wrote on last edited by
    #5

    What's the class of your hours object ? Is it an ofstream ?

    S 1 Reply Last reply
    0
    • S Sweet Flame

      I changed it so that it reads: hours<

      A Offline
      A Offline
      Achim Klein
      wrote on last edited by
      #6

      And of which type is your day entity ? Is it just an int ?


      We can do no great things, only small things with great love. - Mother Theresa

      S 1 Reply Last reply
      0
      • S Sweet Flame

        I changed it so that it reads: hours<

        A Offline
        A Offline
        Achim Klein
        wrote on last edited by
        #7

        Can you compile this ?

        // --------
        // Main.cpp
        // --------
        /**
        * @file
        * @brief Re: main()
        * @version 0.1
        */

        // --------
        // Includes
        // --------
        #include <iostream>
        #include <fstream>

        // ---------------
        // Used namespaces
        // ---------------
        using namespace std;

        // -------------------------------
        // Definition of the MyClass class
        // -------------------------------
        /**
        * Foo.
        */
        class MyClass
        {

        public:

        // ------------
        // Construction
        // ------------
        
        /// standard-constructor
        MyClass();
        
        
        // -------------
        // Serialization
        // -------------
        
        /// writes the object to the passed stream
        ostream& write(ostream& Stream) const;
        

        private:

        // ----------
        // Attributes
        // ----------
        
        /// the first member
        int m\_first;
        
        /// the second member
        int m\_second;
        
        /// the third member
        int m\_third;
        

        };

        // -------
        // MyClass
        // -------
        /**
        * The standard-constructor.
        */
        MyClass::MyClass()
        {
        m_first = 1;
        m_second = 2;
        m_third = 3;
        }

        // -----
        // write
        // -----
        /**
        * Writes the object to the passed stream.
        */
        ostream& MyClass::write(ostream& Stream) const
        {
        return Stream << "first : " << m_first << endl
        << "second : " << m_second << endl
        << "third : " << m_third;
        }

        // ----------
        // operator<<
        // ----------
        /**
        * ostream << MyClass
        */
        ostream& operator<<(ostream& Stream, const MyClass& Object)
        {
        return Object.write(Stream);
        }

        // ----
        // main
        // ----
        /**
        * The application starts here.
        *
        * @param argc number of arguments
        * @param argv list of arguments
        *
        * @return 0 if finished successfully
        */
        int main(int argc, char** argv)
        {
        // ofstream cout("cout.txt");

        cout << MyClass() << endl;
        
        return 0;
        

        }


        We can do no great things, only small things with great love. - Mother Theresa

        S 1 Reply Last reply
        0
        • A Anonymous

          What's the class of your hours object ? Is it an ofstream ?

          S Offline
          S Offline
          Sweet Flame
          wrote on last edited by
          #8

          yes, hours is an ofstream.

          1 Reply Last reply
          0
          • A Achim Klein

            And of which type is your day entity ? Is it just an int ?


            We can do no great things, only small things with great love. - Mother Theresa

            S Offline
            S Offline
            Sweet Flame
            wrote on last edited by
            #9

            yes, my "day" is an int

            1 Reply Last reply
            0
            • A Achim Klein

              Can you compile this ?

              // --------
              // Main.cpp
              // --------
              /**
              * @file
              * @brief Re: main()
              * @version 0.1
              */

              // --------
              // Includes
              // --------
              #include <iostream>
              #include <fstream>

              // ---------------
              // Used namespaces
              // ---------------
              using namespace std;

              // -------------------------------
              // Definition of the MyClass class
              // -------------------------------
              /**
              * Foo.
              */
              class MyClass
              {

              public:

              // ------------
              // Construction
              // ------------
              
              /// standard-constructor
              MyClass();
              
              
              // -------------
              // Serialization
              // -------------
              
              /// writes the object to the passed stream
              ostream& write(ostream& Stream) const;
              

              private:

              // ----------
              // Attributes
              // ----------
              
              /// the first member
              int m\_first;
              
              /// the second member
              int m\_second;
              
              /// the third member
              int m\_third;
              

              };

              // -------
              // MyClass
              // -------
              /**
              * The standard-constructor.
              */
              MyClass::MyClass()
              {
              m_first = 1;
              m_second = 2;
              m_third = 3;
              }

              // -----
              // write
              // -----
              /**
              * Writes the object to the passed stream.
              */
              ostream& MyClass::write(ostream& Stream) const
              {
              return Stream << "first : " << m_first << endl
              << "second : " << m_second << endl
              << "third : " << m_third;
              }

              // ----------
              // operator<<
              // ----------
              /**
              * ostream << MyClass
              */
              ostream& operator<<(ostream& Stream, const MyClass& Object)
              {
              return Object.write(Stream);
              }

              // ----
              // main
              // ----
              /**
              * The application starts here.
              *
              * @param argc number of arguments
              * @param argv list of arguments
              *
              * @return 0 if finished successfully
              */
              int main(int argc, char** argv)
              {
              // ofstream cout("cout.txt");

              cout << MyClass() << endl;
              
              return 0;
              

              }


              We can do no great things, only small things with great love. - Mother Theresa

              S Offline
              S Offline
              Sweet Flame
              wrote on last edited by
              #10

              yes, i can

              A 1 Reply Last reply
              0
              • S Sweet Flame

                yes, i can

                A Offline
                A Offline
                Achim Klein
                wrote on last edited by
                #11

                Maybe the compiler gets confused by your included header files. Try to use: <string> instead of <string.h> <fstream> instead of <fstream.h> <iostream> instead of <iostream.h> ... And avoid mixing them up.


                We can do no great things, only small things with great love. - Mother Theresa

                1 Reply Last reply
                0
                • S Sweet Flame

                  I am trying to write data to a file so that I can open it later. I am trying to save the values of variable to the file. After the file has been opened, I input: "hours << day << endl;" "hours" is the outfile and "day" is a variable that I am trying to write into it. If I remove the "<

                  D Offline
                  D Offline
                  David Crow
                  wrote on last edited by
                  #12

                  Something else is at play here. This works fine for me:

                  #include <fstream.h>

                  void main( void )
                  {
                  ofstream hours("c:\\file.txt");
                  int day = 20;
                  hours << day << endl;
                  }


                  "Take only what you need and leave the land as you found it." - Native American Proverb

                  A 1 Reply Last reply
                  0
                  • D David Crow

                    Something else is at play here. This works fine for me:

                    #include <fstream.h>

                    void main( void )
                    {
                    ofstream hours("c:\\file.txt");
                    int day = 20;
                    hours << day << endl;
                    }


                    "Take only what you need and leave the land as you found it." - Native American Proverb

                    A Offline
                    A Offline
                    Achim Klein
                    wrote on last edited by
                    #13

                    Yes, this problem is really a bit strange... On my system the following code causes a C2679 error:

                    #include <string>
                    #include <fstream.h>

                    int main(int argc, char** argv)
                    {
                    ofstream hours("Hours.txt");

                    hours << "Hallo" << std::endl;
                    
                    return 0;
                    

                    }


                    We can do no great things, only small things with great love. - Mother Theresa

                    D 1 Reply Last reply
                    0
                    • A Achim Klein

                      Yes, this problem is really a bit strange... On my system the following code causes a C2679 error:

                      #include <string>
                      #include <fstream.h>

                      int main(int argc, char** argv)
                      {
                      ofstream hours("Hours.txt");

                      hours << "Hallo" << std::endl;
                      
                      return 0;
                      

                      }


                      We can do no great things, only small things with great love. - Mother Theresa

                      D Offline
                      D Offline
                      David Crow
                      wrote on last edited by
                      #14

                      Writing string is different than writing int (your original problem). The ofstream class does not support writing string data. You have to provide that yourself:

                      #include <fstream>
                      std::ofstream &operator<<( std::ofstream &os, const std::string &str )
                      {
                      os << str.c_str();
                      return os;
                      }


                      "Take only what you need and leave the land as you found it." - Native American Proverb

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups