mix mode file reading/writing?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • john smith

    mix mode file reading/writing?

    Hi, I have a file format that is going to contain some parts in ascii, and
    some parts with raw binary data. Should I open this file with ios::bin or
    no?

    For example:
    filename: a.bin
    number of points = 123
    @@@begin data@@@
    gibberish follows.....

    @@@end data@@@

    I will use the >> and << operators for the ascii parts, and iostream's read
    and write functions for the binary parts. Any advice or suggestions will be
    appreciated. Thanks.

    Smith


  • Greg P.

    #2
    Re: mix mode file reading/writing?

    "john smith" <asdf@asdf123as df.net> wrote in message
    news:bg5c3p$1fb f$1@news.eecs.u mich.edu...[color=blue]
    > Hi, I have a file format that is going to contain some parts in ascii, and
    > some parts with raw binary data. Should I open this file with ios::bin or
    > no?[/color]
    The only difference between text and binary reads are the lack of \r\n reads
    for binary. binary reads consider the characters, which mean end of line for
    text, potential values themselves. I would suggest opening the file in
    binary mode (for most of your file-related coding).
    --

    Regards,
    Greg P.

    Golden Rule of Open Source Programming:
    "Don't whine about something unless you plan to implement it yourself"


    Comment

    • ES Kim

      #3
      Re: mix mode file reading/writing?

      "Greg P." <no@spam.sam> wrote in message
      news:fTqVa.1622 $mr1.404@newsre ad3.news.pas.ea rthlink.net...[color=blue]
      > "john smith" <asdf@asdf123as df.net> wrote in message
      > news:bg5c3p$1fb f$1@news.eecs.u mich.edu...[color=green]
      > > Hi, I have a file format that is going to contain some parts in ascii, and
      > > some parts with raw binary data. Should I open this file with ios::bin or
      > > no?[/color]
      > The only difference between text and binary reads are the lack of \r\n reads
      > for binary. binary reads consider the characters, which mean end of line for
      > text, potential values themselves. I would suggest opening the file in
      > binary mode (for most of your file-related coding).
      > --
      >
      > Regards,
      > Greg P.
      >
      > Golden Rule of Open Source Programming:
      > "Don't whine about something unless you plan to implement it yourself"
      >
      >[/color]

      In addition, if you read a binary file in text mode, your program may
      quit reading prematurely since it cannot detect the correct EOF position.

      --
      ES Kim


      Comment

      • john smith

        #4
        Re: mix mode file reading/writing?

        Hello, I still need some help with this.

        When I open the file for writing in ASCII, it writes fine. Then I close it
        and reopen it like so:
        in.open(filenam e, ios_base::binar y | ios_base:ate), and then I write my
        data. When I open the file in notepad, the contents have become all
        gibberish, like it's a binary file. But what I'm trying to do is something
        like some Linux installation scripts. There is a text area which is human
        readable, then it's followed by the binary area. The presumably the text
        readable area is parsed by the shell and the binary area is executed. While
        that's not what I'm trying to do, I am trying to write and read some raw
        data, while being able to parse information about that data in raw text...

        Any insights would be appreciated. Thanks in advance.

        Smith

        "ES Kim" <eskim@svd.co.k r> wrote in message
        news:bg5d3j$5ti $1@news1.kornet .net...[color=blue]
        > "Greg P." <no@spam.sam> wrote in message
        > news:fTqVa.1622 $mr1.404@newsre ad3.news.pas.ea rthlink.net...[color=green]
        > > "john smith" <asdf@asdf123as df.net> wrote in message
        > > news:bg5c3p$1fb f$1@news.eecs.u mich.edu...[color=darkred]
        > > > Hi, I have a file format that is going to contain some parts in ascii,[/color][/color][/color]
        and[color=blue][color=green][color=darkred]
        > > > some parts with raw binary data. Should I open this file with[/color][/color][/color]
        ios::bin or[color=blue][color=green][color=darkred]
        > > > no?[/color]
        > > The only difference between text and binary reads are the lack of \r\n[/color][/color]
        reads[color=blue][color=green]
        > > for binary. binary reads consider the characters, which mean end of line[/color][/color]
        for[color=blue][color=green]
        > > text, potential values themselves. I would suggest opening the file in
        > > binary mode (for most of your file-related coding).
        > > --
        > >
        > > Regards,
        > > Greg P.
        > >
        > > Golden Rule of Open Source Programming:
        > > "Don't whine about something unless you plan to implement it yourself"
        > >
        > >[/color]
        >
        > In addition, if you read a binary file in text mode, your program may
        > quit reading prematurely since it cannot detect the correct EOF position.
        >
        > --
        > ES Kim
        >
        >[/color]


        Comment

        • Thomas Matthews

          #5
          Re: mix mode file reading/writing?

          john smith wrote:
          [color=blue]
          > Hello, I still need some help with this.
          >
          > When I open the file for writing in ASCII, it writes fine. Then I close it
          > and reopen it like so:
          > in.open(filenam e, ios_base::binar y | ios_base:ate), and then I write my
          > data. When I open the file in notepad, the contents have become all
          > gibberish, like it's a binary file. But what I'm trying to do is something
          > like some Linux installation scripts. There is a text area which is human
          > readable, then it's followed by the binary area. The presumably the text
          > readable area is parsed by the shell and the binary area is executed. While
          > that's not what I'm trying to do, I am trying to write and read some raw
          > data, while being able to parse information about that data in raw text...
          >
          > Any insights would be appreciated. Thanks in advance.
          >
          > Smith[/color]

          Please post your code and indicate where you are having problems.
          Also state the expected behavior and the actual behavior.
          This will allow people to assist you better.

          --
          Thomas Matthews

          C++ newsgroup welcome message:

          C++ Faq: http://www.parashift.com/c++-faq-lite
          C Faq: http://www.eskimo.com/~scs/c-faq/top.html
          alt.comp.lang.l earn.c-c++ faq:

          Other sites:
          http://www.josuttis.com -- C++ STL Library book

          Comment

          Working...