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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. saving text in a file?

saving text in a file?

Scheduled Pinned Locked Moved C / C++ / MFC
question
16 Posts 5 Posters 1 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.
  • C Cedric Moonen

    If you use CArchive, maybe that's normal... In fact, I never used CArchive for saving data but maybe it adds its own data before your data. Try to use CFile instead: char* szText = "Your string To Save"; CFile* pFile = fopen("YourFile.txt","w"); fwrite(szText,strlen(szText),1,pFile); fclose(pFile);

    M Offline
    M Offline
    mpallavi
    wrote on last edited by
    #4

    Hi cedric i am giving here my code: .......................... CFile flCPhone; CStdioFile fl; char strFilter[] = { "Text Files (*.txt)|*.txt|" }; CFileDialog FileDlg(FALSE, ".txt", NULL, 0, strFilter); if( FileDlg.DoModal() == IDOK ) { if( flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite) == FALSE ) { return;} CArchive ar(&flCPhone, CArchive::store); ar<

    C 1 Reply Last reply
    0
    • E eli15021979

      try this :

      FILE *file;
      char *FileName = "C:\\TestFile.txt";
      char *string_to_save = "this is a test";

      file = fopen(FileName,"w");
      if(!file)
      {
      AfxMessageBox("Unable to open the specified file");
      return;
      }

      fputs(string_to_save,file);
      fputs("\n",file);
      fclose(file)
      return;

      regards, Eli

      M Offline
      M Offline
      mpallavi
      wrote on last edited by
      #5

      hey friends .. i did it.. it was simple ................. CFile flCPhone; flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite); int len; len=strlen(m_strInput); flCPhone.Write(m_strInput,len); ..................... thanx for showing me the write track.. i was simply running behind CArchive.. (A beginner in vc++.. getting into it..) thanx pal

      E 1 Reply Last reply
      0
      • M mpallavi

        hey friends .. i did it.. it was simple ................. CFile flCPhone; flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite); int len; len=strlen(m_strInput); flCPhone.Write(m_strInput,len); ..................... thanx for showing me the write track.. i was simply running behind CArchive.. (A beginner in vc++.. getting into it..) thanx pal

        E Offline
        E Offline
        eli15021979
        wrote on last edited by
        #6

        if you allow the user to choose the file name and position with File dialog, in your flCPhone.open() use FileDlg.GetPathName() instead FileDlg.GetFileName(). regards, Eli

        M 1 Reply Last reply
        0
        • M mpallavi

          Hi cedric i am giving here my code: .......................... CFile flCPhone; CStdioFile fl; char strFilter[] = { "Text Files (*.txt)|*.txt|" }; CFileDialog FileDlg(FALSE, ".txt", NULL, 0, strFilter); if( FileDlg.DoModal() == IDOK ) { if( flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite) == FALSE ) { return;} CArchive ar(&flCPhone, CArchive::store); ar<

          C Offline
          C Offline
          Cedric Moonen
          wrote on last edited by
          #7

          Ouch... Sorry, I have mixed CFile with FILE* :~ But I think your question has already been answered ;)

          M 1 Reply Last reply
          0
          • E eli15021979

            if you allow the user to choose the file name and position with File dialog, in your flCPhone.open() use FileDlg.GetPathName() instead FileDlg.GetFileName(). regards, Eli

            M Offline
            M Offline
            mpallavi
            wrote on last edited by
            #8

            ya fine.. thanx Eli .. pal

            A 1 Reply Last reply
            0
            • C Cedric Moonen

              Ouch... Sorry, I have mixed CFile with FILE* :~ But I think your question has already been answered ;)

              M Offline
              M Offline
              mpallavi
              wrote on last edited by
              #9

              Hi cedric its ok.. :) I wasn't using the member functions of CFile.. There is no function for appending text to a file..in CFile (..I suppose).. How do i go about it?

              C D 2 Replies Last reply
              0
              • M mpallavi

                Hi cedric its ok.. :) I wasn't using the member functions of CFile.. There is no function for appending text to a file..in CFile (..I suppose).. How do i go about it?

                C Offline
                C Offline
                Cedric Moonen
                wrote on last edited by
                #10

                Then you can use FILE* and open it in appending mode ("-a"). Take a look at fopen in the doc: FILE* pFile = fopen("YourFile.txt","a"); fwrite(.....); // This will append text at the end of the file

                1 Reply Last reply
                0
                • M mpallavi

                  ya fine.. thanx Eli .. pal

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

                  i want get HDD serial number, and encoding it to binary number, and write this binary number into file application (example: myapplication.exe) ? i can't completed, help me ! Regards.

                  A 1 Reply Last reply
                  0
                  • A Anonymous

                    i want get HDD serial number, and encoding it to binary number, and write this binary number into file application (example: myapplication.exe) ? i can't completed, help me ! Regards.

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

                    I using VC++ MFC.

                    1 Reply Last reply
                    0
                    • M mpallavi

                      Hi cedric its ok.. :) I wasn't using the member functions of CFile.. There is no function for appending text to a file..in CFile (..I suppose).. How do i go about it?

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

                      mpallavi wrote: There is no function for appending text to a file..in CFile (..I suppose).. Sure there is. Just go to the end of the file before writing to it. Remember to use CFile::modeNoTruncate when opening the file.


                      "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                      M 1 Reply Last reply
                      0
                      • M mpallavi

                        hi.. how do we save user entered text in a file.. i am using common dialog box and allowing the user to specify the file name and the location.. I used CArchive.. The first character in the saved file is always a garbage value.. Why? regards mpallavi

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

                        mpallavi wrote: The first character in the saved file is always a garbage value It is the number of bytes in the CString object that were written to the archive. You should be able to verify this. Take a look at CArchive's << operator. If the length of the CString object is >= 255 and < 0xfffe, an extra 0xff is written to the archive followed by the length of the CString object.


                        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                        1 Reply Last reply
                        0
                        • D David Crow

                          mpallavi wrote: There is no function for appending text to a file..in CFile (..I suppose).. Sure there is. Just go to the end of the file before writing to it. Remember to use CFile::modeNoTruncate when opening the file.


                          "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                          M Offline
                          M Offline
                          mpallavi
                          wrote on last edited by
                          #15

                          hi david.. thanx I could append text to a already existing file.. I want the newly entered text to appear on a new line.. I used CFile::seektoend().. how to take the pointer to new line? .. regards pal

                          D 1 Reply Last reply
                          0
                          • M mpallavi

                            hi david.. thanx I could append text to a already existing file.. I want the newly entered text to appear on a new line.. I used CFile::seektoend().. how to take the pointer to new line? .. regards pal

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

                            Insert a CR and/or LF character first.


                            "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                            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